128a8b562SDavid E. O'Brien$File: MAINT,v 1.10 2008/02/05 19:08:11 christos Exp $ 275a6cdb3SDavid E. O'Brien 375a6cdb3SDavid E. O'BrienMaintenance notes: 475a6cdb3SDavid E. O'Brien 575a6cdb3SDavid E. O'BrienI am continuing to maintain the file command. I welcome your help, 675a6cdb3SDavid E. O'Brienbut to make my life easier I'd like to request the following: 775a6cdb3SDavid E. O'Brien 875a6cdb3SDavid E. O'Brien- Do not distribute changed versions. 975a6cdb3SDavid E. O'Brien 1075a6cdb3SDavid E. O'BrienPeople trying to be helpful occasionally put up their hacked versions 11d1d50c78SDavid E. O'Brienof the file command for anonymous FTP, and people all over the 12d1d50c78SDavid E. O'Brienworld get copies of the hacked versions. Within a day or two I am 13d1d50c78SDavid E. O'Briengetting email from around the world asking me why "my" file command 14d1d50c78SDavid E. O'Brienwon't compile!!! Needless to say this detracts from the limited 15d1d50c78SDavid E. O'Brientime I have available to work on the actual software. Therefore I 16d1d50c78SDavid E. O'Brienask you again to please NOT distribute your changed version. If 17d1d50c78SDavid E. O'Brienyou need to make changes, please add a patch file next to the 18d1d50c78SDavid E. O'Briendistribution tar, and a README file that clearly explains what you 19d1d50c78SDavid E. O'Brienare trying to fix. 2075a6cdb3SDavid E. O'Brien 2175a6cdb3SDavid E. O'BrienThank you for your assistance and cooperation. 2275a6cdb3SDavid E. O'Brien 23d1d50c78SDavid E. O'BrienCode Overview 24d1d50c78SDavid E. O'Brien 25d1d50c78SDavid E. O'BrienThis is a rough idea of the control flow from the main program: 26d1d50c78SDavid E. O'Brien 27d1d50c78SDavid E. O'Brienfile.c main() 28d1d50c78SDavid E. O'Brienfile.c process (called for each file) 29d1d50c78SDavid E. O'Brien printf file name 30d1d50c78SDavid E. O'Brienmagic.c magic_file() 31d1d50c78SDavid E. O'Brienfsmagic.c file_fsmagic() 32d1d50c78SDavid E. O'Brien (handles statbuf modes for DEV) 33d1d50c78SDavid E. O'Brien (handles statbuf modes for executable &c. 34d1d50c78SDavid E. O'Brien reads data from file. 35d1d50c78SDavid E. O'Brienfuncs.c: file_buffer() 36d1d50c78SDavid E. O'Briencompress.c file_zmagic() 37d1d50c78SDavid E. O'Brienis_tar.c file_is_tar() 38d1d50c78SDavid E. O'Briensoftmagic.c file_softmagic() 39d1d50c78SDavid E. O'Brien match() - looks for match against main magic database 40d1d50c78SDavid E. O'Brienascmagic.c file_ascmagic() 41d1d50c78SDavid E. O'Brienreadelf.c file_tryelf() 42d1d50c78SDavid E. O'Brien "unknown" 43d1d50c78SDavid E. O'Brien 4428a8b562SDavid E. O'BrienChristos Zoulas (see README for email address) 45