OSDN Git Service

Eliminate Microsoft inspired obfuscated typedef insanity.
[mingw/pexports.git] / ChangeLog
index 9224ad1..8a195ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,127 @@
+2015-09-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Eliminate Microsoft inspired obfuscated typedef insanity.
+
+       * pexports.c pexports.h (BYTE, WORD, DWORD): Delete typedefs;
+       respectively replace all corresponding usage instances with...
+       (uint8_t, uint16_t, uint32_t): ...these ISO-C standard types.
+       (PVOID, PIMAGE_DOS_HEADER, PIMAGE_FILE_HEADER, PIMAGE_SECTION_HEADER)
+       (PIMAGE_DATA_DIRECTORY, PIMAGE_EXPORT_DIRECTORY, PIMAGE_NT_HEADERS32)
+       (PIMAGE_NT_HEADERS64, PIMAGE_OPTIONAL_HEADER32)
+       (PIMAGE_OPTIONAL_HEADER64): Delete these non-standard style pointer
+       reference typedefs; replace with conventional pointer references to
+       the underlying data type; where these are structural types, delete
+       initial underscores from the corresponding structure tag names.
+       (HMODULE): Likewise; replace with pointer to void.
+
+2013-05-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Prepare, tag, and publish 0.46 release.
+
+       * README: Add release notes.
+       * All files: Tagged "v0_46" for release.
+
+2013-05-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Assemble licence and documentation tarballs for distribution.
+
+       * Makefile.in (dist): Add dependencies on...
+       (licdist, docdist): ...these new build goals; specify them based on...
+       (LIC_DISTFILES, DOC_DISTFILES): ...these new macros; define them as
+       the respective list of files to include in each tarball.
+
+2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Force a remake, on package version updates.
+
+       * Makefile.in (pexports.OBJEXT): Make it depend on Makefile; this
+       indirectly captures changes, when configure.ac is updated.
+
+2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Update program identification, via configuration process.
+
+       * pexports.c (main): Update identification text; remove references...
+       (VER_MAJOR, VER_MINOR): ...to these; combine them by substituting...
+       (PACKAGE_VERSION_STRING): ...this new macro; also amend instructions
+       for reporting bugs, as directed at URL identified by...
+       (PACKAGE_BUG_REPORT): ...this additional new macro.
+
+       * pexports.h (VER_MAJOR, VER_MINOR): Obsolete macros; delete them.
+
+       * Makefile.in (PACKAGE_DEFS): New macro; defined in terms of these...
+       (PACKAGE_VERSION_STRING, PACKAGE_BUG_REPORT_URL, PACKAGE_BUG_REPORT):
+       ...these additional new macros, defined by AC_SUBST from configure.ac,
+       and subsequently propagated to pexports.c, as an addendum to...
+       (CDEPFLAGS): ...this.
+
+2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Autoconfiscate.
+
+       * configure.ac Makefile.in: New files.
+       * Makefile: Now auto-generated at configure time; remove it.
+       * .hgignore: Add configure, Makefile, autom4te.cache and build dir.
+
+2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Integrate build-aux utilities as a submodule.
+
+       * .gitmodules .hgsub .hgsubstate: New files.
+
+2013-05-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Designate files which mercurial should not track.
+
+       * .hgignore: New file.
+
+2013-05-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Correct some obfuscated typedef portability issues.
+
+       * pexports.c: Include inttypes.h; it permits use of...
+       (PRIdPTR): ...this ISO-C99 standard macro, in preference to...
+       (INT_PTR_FORMAT): ...this non-standard contrivance; similarly...
+       (intptr_t): ...substitute this ISO-C99 standard typedef...
+       (INT_PTR): ...for this non-standard type.
+
+       * pexports.h: Include stdint.h; typedef...
+       (BYTE): ...this, as explicitly equivalent to uint8_t.
+       (WORD): ...this, as explicitly equivalent to uint16_t.
+       (DWORD): ...this, as explicitly equivalent to uint32_t.
+       (INT_PTR, INT_PTR_FORMAT): No longer required; delete them.
+       (ULONGLONG): Explicitly typedef as equivalent to uint64_t; although
+       'unsigned long long' seems a better fit, our present usage requires
+       the explicit 64-bit association, and use of this standard type allows
+       us to eliminate all references to Microsoft's non-standard __int64.
+       (LONG): Explicitly typedef as equivalent to int32_t; technically, this
+       is incorrect, but misuse elsewhere requires the explicit 32-bit type,
+       which is not guaranteed by ISO-C99's standard 'long' type.
+
+2011-09-14  Daniel Collins  <solemnwarning@solemnwarning.net>
+
+       Avoid segmentation faults in forwarder function checks.
+
+       * pexports.h (dump_exports): Adjust prototype to accommodate new
+       'exports_size' argument; this is to be assigned and passed from...
+       * pexports.c (main): ...here; assigned value is determined from the
+       export table size recorded in the PE file image, whence passed to...
+       (dump_exports): ...here; it is used to avoid crashing or corruption
+       when the export table isn't at the end of its section.  Also check
+       for, and filter out duplicated symbol reports.
+
+2009-09-15  Charles Wilson  <cwilso11@users.sourceforge.net>
+
+       Slight build improvements.
+
+       * README: Update.
+       * Makefile: Rewrite dist rule to create a .tar.lzma instead
+       of a .zip (and don't create a tarbomb). 
+
 2009-09-15  Charles Wilson  <cwilso11@users.sourceforge.net>
 
        Package 0.44-1-mingw32 fixes.
+
        * pexports.c (main): Fix typo in usage statement.
        * pexports.h: Ensure ULONGLONG is defined.
        * Makefile: Force use of flex and bison, not lex and yacc.
@@ -8,6 +129,7 @@
 2008-08-31  Tor Lillqvist  <tml@novell.com>
 
        Release 0.44. Add support for 64-bit executables.
+
        * hlex.l
        * hparse.y
        * pexports.h