1*ef01931fSBen Gras$File: MAINT,v 1.10 2008/02/05 19:08:11 christos Exp $ 2*ef01931fSBen Gras 3*ef01931fSBen GrasMaintenance notes: 4*ef01931fSBen Gras 5*ef01931fSBen GrasI am continuing to maintain the file command. I welcome your help, 6*ef01931fSBen Grasbut to make my life easier I'd like to request the following: 7*ef01931fSBen Gras 8*ef01931fSBen Gras- Do not distribute changed versions. 9*ef01931fSBen Gras 10*ef01931fSBen GrasPeople trying to be helpful occasionally put up their hacked versions 11*ef01931fSBen Grasof the file command for anonymous FTP, and people all over the 12*ef01931fSBen Grasworld get copies of the hacked versions. Within a day or two I am 13*ef01931fSBen Grasgetting email from around the world asking me why "my" file command 14*ef01931fSBen Graswon't compile!!! Needless to say this detracts from the limited 15*ef01931fSBen Grastime I have available to work on the actual software. Therefore I 16*ef01931fSBen Grasask you again to please NOT distribute your changed version. If 17*ef01931fSBen Grasyou need to make changes, please add a patch file next to the 18*ef01931fSBen Grasdistribution tar, and a README file that clearly explains what you 19*ef01931fSBen Grasare trying to fix. 20*ef01931fSBen Gras 21*ef01931fSBen GrasThank you for your assistance and cooperation. 22*ef01931fSBen Gras 23*ef01931fSBen GrasCode Overview 24*ef01931fSBen Gras 25*ef01931fSBen GrasThis is a rough idea of the control flow from the main program: 26*ef01931fSBen Gras 27*ef01931fSBen Grasfile.c main() 28*ef01931fSBen Grasfile.c process (called for each file) 29*ef01931fSBen Gras printf file name 30*ef01931fSBen Grasmagic.c magic_file() 31*ef01931fSBen Grasfsmagic.c file_fsmagic() 32*ef01931fSBen Gras (handles statbuf modes for DEV) 33*ef01931fSBen Gras (handles statbuf modes for executable &c. 34*ef01931fSBen Gras reads data from file. 35*ef01931fSBen Grasfuncs.c: file_buffer() 36*ef01931fSBen Grascompress.c file_zmagic() 37*ef01931fSBen Grasis_tar.c file_is_tar() 38*ef01931fSBen Grassoftmagic.c file_softmagic() 39*ef01931fSBen Gras match() - looks for match against main magic database 40*ef01931fSBen Grasascmagic.c file_ascmagic() 41*ef01931fSBen Grasreadelf.c file_tryelf() 42*ef01931fSBen Gras "unknown" 43*ef01931fSBen Gras 44*ef01931fSBen GrasChristos Zoulas (see README for email address) 45