# "ChangeLog"
#	$Id: ChangeLog,v 1.5 2006/11/15 05:27:21 fang Exp $

2006-11-15	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20061115:
	  misc/magic.h: endianness definition for __APPLE__ now conditional
		upon i386 not being defined.  
		Now compiles and runs on x86 Macs.  
	  Note to self (fang): finish the autotoolization branch, 
		and obliterate this hackery.  


2006-07-08	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20060708:
	  Finally backported the ".magicrc" fix from the 7.3 series.
		Now magic (and extflat) use .magicrc for startup commands.
		magic still will find ~/.magic, as a deprecated secondary
		location.  Now the .magic(rc) file will no longer disrupt
		UNIX file-magic.  


2006-07-03	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20060703:
	  Header clean-ups before attempting autotoolization on branch, 
		no mode Need_to_include_header crap for the sake
		of maintainability and comprehensibility, include proper
		forward declaration headers.  All headers have proper 
		include-once protection now.  Few .cvsignore's updated. 


2006-02-07	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20060207-merged-20051125-fang-08:
	  Merged cleanup revisions from -fang branch.
		Validated builds: {FreeBSD,Mac OS X,linux}x{gcc-3.3,gcc-4.0}
	  Summary: better compilability w.r.t. newer stricter compilers.
		Header cleanliness, proper protoypes and forward declarations, 
		de-Void-ing prototypes, return types, function-pointer 
		correctness, format string consistency, general portability.
		*No real code change.*  Suspicious code flagged.  
		Some minor Makefile enhancements.
	  TODO: autoconf-iscation, non-recusive automake, libtoolization.  
	  TODO: backport fixes and patches from 7.3 series.  


2005-12-28	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-08:
	  'Void' is now dead, and replaced with appropriate type.  


	* magic-7p1-20051125-fang-07.4:
	  Fixed a number of function-pointer cast warnings:
		Fixed types/casts, added a few wrappers of functions
		with safely accommodating function-pointer conversions.  
	  Warning count < 90, and this may be it for this branch.  
	  Status: red alert problems can be found: grep FANG */*.*,
		and yellow alert warnings can be found: grep Fang */*.*


2005-12-27	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-07.3:
	  Added LookupStructTable wrapper whose table argument is typed
		as LookupTable* to fix a bunch of missing cast warnings
		in calls to LookupStruct (replaced).  


	* magic-7p1-20051125-fang-07.2:
	  Most format-string argument-type mismatch warnings fixed, 
		usually replacing %x/d with %p for correctness
		in most instances.  Preventative measure against
		bad stack accesses with variadic arguments (printf-style).  


2005-12-25	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-07.1:
	  sys_nerr and sys_errlist are deprecated, replaced with proper use
		of strerror and strerror_r in "windows/windCmdAM.c".
	  Also found some misuses in malloc.c to address later. 


2005-12-25	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-07:
	  Finished patching 99.9% of missing prototypes (implicit declarations)
		this round affect the modules: signals, utils, windows, wiring,
		mpack and magic.  
	  Status: Warning count down to < 160 from over 9000.  


2005-12-19	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-06++++:
	  Added missing prototypes (no longer implicit) mostly in the
		resis, router, select, sim, textio modules. 


2005-12-18	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-06+++:
	  Added missing prototypes (no longer implicit) in the
		graphics, grouter, irouter, lisp, main, and mzrouter modules.  


2005-12-17	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-06++:
	  Mostly cleanups of missing/implicit prototypes in the
		garouter and gcr modules.  


2005-12-14	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-06+:
	  Mostly cleanups and prototypes in extract module.  


2005-12-10	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-06:
	  Header inclusion fixes all over.
	  One large round of fixing implicit declarations, missing prototypes, 
		incorrect prototypes, missing return types, missing return val.
		These are by large the most annoying problems remaining. 
	  Created type-forward-declaration headers where needed.  
	  Tons of replacing Void with void manually, with inspection.  
	  Verified parenthesization warnings, and suppressed.  
	  In several cases, defining strict function pointer types,
		to reveal where incompatible pointer types may have problems.  


2005-12-03	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-05:
	  Another round of clean-up, same stuff, mostly in grouter, irouter, 
		mzrouter, lisp, netmenu, plot, plow, and util modules.  
	  NOTE: I've found suspicious code in several places, just by cleaning
		out warnings.  Such locations are marked with 'Fang' in text, 
		so they can be found with grep.  


2005-11-29	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-04:
	  More rounds of trivial clean-up fixes: parentheses, braces, 
		prototypes, return types, flagged some suspicious code.  


2005-11-27	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-03:
	  Tidying up the filthiest (warnings) code I've ever seen...
		How can anyone tell what's a *real* warning from a stupid one?
		Just fix the stupid ones (6000+)!
		Some warnings may turn into errors in the future.  
	  Added proper prototypes for many functions.  
	  Added missing return types in tons of places, 
		fixed bogus Void return type in tons of places.  
	  Added type forward declarations (in own files).  
	  Added extra parens around assignment exprs.  
	  Proper braces around struct initializers.  
	  Fixed "if (1) { } else" macros.  
	  ... and all this is only with 1/3 of the code, more to come.
	  configuration checked on FreeBSD and linux (gcc-3.4)
		and Darwin (gcc-4.0).


2005-11-25	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-02:
	  database/DBio.c plot/plotPixels.c plot/plotVers.c:
		FreeBSD suggests mkstemp over mktemp as a safer call.  
		Need to check for this library function in configure, ideally.
	  Makefile consistency edits (insignificant).
	  (validated on i386-FreeBSD, gcc-3.4.0)
	  for newer gcc (clean-up):
	  Globally fixed leftover tokens after #endif and #else.
		These were so *&%!@#^!@# annoying to filter out among
		real warning/error messages.  
	  Added bunch of missing prototypes to files, 
		tons of missing includes to eliminate implicit declarations.  
		Covered most of cif/calma/database so far.  
	  Tons (not complete) of prototype fixes.  (Sorry, KNR.)
	  Tons of 'Void' fixes (not complete), replaced in
		void in most places because most affected functions
		did not return anything, see TODO.  
	  Bunch of function-pointer prototype and assignment fixes.  
	  Validated against darwin-gcc-4.0.1.


2005-11-25	David Fang		<fangism@users.sourceforge.net>

	* magic-7p1-20051125-fang-01:
	  Branch tagged to mark intent to fix code, planning for a 
		retirement (end-of-life) release of 7.1, making sure this 
		compiles and runs on recent and common platforms/compilers.
	  Added this ChangeLog -- How did you guys get away 
		  without a ChangeLog for so long?
	  Makefile: added 'cvsdiffs' target for convenience.  
		added recursive 'uninstall' target, undoes 'install'
		Added uninstall targets to subdirs' Makefiles
			for *non-obsolete* modules, ones actually used.  
	  rules.mak: updated bin-module rule to use $(PROGRAM_SUFFIX)
		PROGRAM_SUFFIX is now defined in defs.mak (generated
		by scripts/config).  
		All program subdirs' Makefiles: appended 
		$(PROGRAM_SUFFIX) to installed binaries.  
	  All touched *.c *.h files:
		Added missing standard include to shut up warnings
			about missing implicit built-in declarations.  
		Removed bogus prototypes with empty parameters.  
		Globally replaced <varargs.h> with <stdarg.h>.
			Fixed uses of variadic calls everywhere.  
			Sorry, abandoned KNR declarations.  
	  magic/proto.magic: made cpp-clean fixing old misuse
		of # at the beginning of a line, sheesh.  
	  misc/magic.h: tentatively hard-coded __APPLE__ => IS_BIG_ENDIAN
		which MUST change once Apple ships Intel Macs.  
	  netlist/netlist.c, utils/malloc.c, utils/runstats.c:
		Darwin-specific fix of get_etext(), get_end()
		from <mach-o/getsect.h>.  
	  resis/ResRex.c: definition of MAXFLOAT based on FLT_MAX.
	  textio/txInput.c: accounted for readline-4.2 difference. 
	  Tested configuration: powerpc-apple-darwin with fink-readline.
		will test others shortly.  

