Changelog for makeztxt ---------------------- makeztxt v1.62 Thursday, June 21, 2007 ------------------------------ * Fixed a double free bug in the PDB disassembly code. Reported by Zider. * Fixed an alignment issue on 64bit systems. UInt32 was mistakenly defined as an 8 byte value rather than a 4 byte value. Reported by Zider. * Fixed gcc 4.x compiler warnings. * makeztxt will now compile against latest weasel_common.h header. makeztxt v1.61 (* devel: not released *) Tuesday, January 27, 2004 ------------------------------ * Fixed a small memory leak in libztxt. Some buffers were not being freed when a zTXT object was freed. * Patch submitted by Ron Aaron: Stop libztxt from stripping all characters with the hi-bit on from bookmark/annotation titles. * Patch submitted by Kevin Ko: Fix several bugs in makeztxt related to the -R option. All were careless programming mistakes. -R should now work properly. makeztxt v1.60 Tuesday, August 12, 2003 ------------------------------ * Patch submitted by Roger Plant: Fixes subexpression matching for POSIX regex. Also adds short explanation of feature to README. * Removed command line options to set creator and type IDs. They didn't really serve any purpose since makeztxt is designed specifically for making zTXT databases. * makeztxt now sanitizes the bookmark titles it generates. Before, newlines and control characters could end up in titles making the display improperly. * Using the -m switch, you can now feed makeztxt a file containing a list of premade bookmarks. Each line must begin with an offset (location) in the document. The rest of the line will be treated as the bookmark title. * makeztxt will now search for the .makeztxtrc file in multiple locations. It first searches $HOME, then the current directory. If neither of those works it will search for /etc/makeztxt.conf. * Fixed makefiles so that makeztxt is correctly rebuilt if a file in libztxt is modified. * ztxt.h is now fully commented. It should now provide reasonable documentation for how libztxt is used to generate zTXT DBs. * Added ztxt_get_* functions so accessing members of the ztxt structure directly should no longer be necessary for programs using libztxt. * Added ztxt_disect(). libztxt is now capable of taking an existing zTXT database and disecting it into its component pieces. This will allow for bookmarks, annotations, and document text to be removed from a zTXT and saved into separate files. * makeztxt can now output the disected components of a zTXT document. zTXT deconstruction is enabled with the '-d' option. The command line argument is the database to take apart. The output filename for the document's text can be given with '-o'. To save any bookmarks to a file, give the filename with '-m'. To save annotations to a file, give the filename with '-A'. * Added ztxt_add_annotation function. * makezxt can now create a zTXT with annotations. The annotations are listed in a separate text file and the filename is given with -A. This should now enable creation and disassembly of any type of zTXT document. * Added ztxt_crc32 function. libztxt now stores a CRC32 value in the record 0 header. This will allow a user to check a document's integrity once on a device. Support will be added to Weasel Reader to perform this operation. * Big documentation update. The README should be useful now. Also includes a note about the command line nature of makeztxt and link to Weasel website where the list of other more user-friendly converters is. makeztxt v1.44 Friday, November 29, 2002 ------------------------------ * Patch submitted by Roman Shterenzon: Fix to allow makeztxt to compile on FreeBSD. Makeztxt is also now available in the FreeBSD ports collection. * Makeztxt now strips the path from the input filename. This should cause the generated file to always go into the current directory if no output filename is specified. If no title is specified then the base filename will also become the title. makeztxt v1.43 Friday, March 1, 2002 ------------------------------ * Attributes in the DB header were not being properly set. The backup bit would not get set, so if you installed the DB with some program and then later HotSynced, it might not be backed up unless you had modified it in some way. * Removed the -w set wbits option since it really has little use for creating zTXTs. It's still in libztxt, though. * Added a -L option to set the LaunchableData attribute in the header. If your version of Palm OS supports it, zTXTs created with this option will show up in the launcher and if you tap them, Weasel will be launched and start with the selected document. makeztxt v1.42 Sunday, January 13, 2002 ------------------------------ * The regex config file has been renamed .makeztxtrc from .gutenpalmrc since it's for this program and not Weasel Reader. * Makefile now uses $(MAKE) instead of explicitly running "make". Systems where GNU make is not the default need to run as 'make MAKE=gmake_name' * New option in Makefile: Comment out the LONG_OPTS line if you do not have getopt.h or do not have the getopt_long function. This should allow makeztxt to compile on systems without GNU stuff. makeztxt v1.41 Friday, July 6, 2001 ------------------------------ * Huge uber-important bugfix: Perhaps this will end all the email! makeztxt wasn't opening its output file as *O_BINARY* with the Windows port. This caused all those important \n characters (where ever they appeared) to be helpfully translated into \n\r pairs, thus totally destroying what the output should be. So... why did it sometimes work? I suspect that with small files the chance of there being a \n in the imporant header bytes is smaller than with large files. Thanks for this go to Roman Rusakov. Huzzah! * Bugfix: Database titles were not being null-terminated, so if you specified a large title (over 32 chars) it wouldn't install onto your Palm. makeztxt v1.40 Saturday, May 26, 2001 ------------------------------ * Bugfix: Finally found an example of POSIX regex being used, so now the code should do the "right" thing and actually compile on other systems. * Bugfix: When using GNU regex, the position in the input was not being updated properly, so it would not skip all of the previous match. This could result in submatches within the previous match, which is usually not what you want. makeztxt v1.40b1 Tuesday, April 3, 2001 ------------------------------ * Bugfix: Didn't check for null regex, and this would cause it to sit and spin its wheels for a very long time. * Switched over to use GNU regex, since they offer many more features and are faster on large strings. However, you can define POSIX_REGEX in the Makefile to use POSIX regex still. * Auto-generated title is now always null terminated... just to be safe. * libztxt now has functions to report its version and build number. makeztxt uses these when printing out version info. The build number is also stored in the zTXT header (for debugging purposes). A script, inc_bcounter.sh, has been added to the libztxt source. * Patch from "Temporal Weirdo" for improved bookmark matching in libztxt. Now uses substring information returned by regex functions to better construct the bookmark title, instead of just grabbing the 20 chars at the beginning of the match. * Makefile fixup for makeztxt and libztxt. Now you only need to set compile time options in the makeztxt Makefile and they will be correctly propagated. makeztxt v1.40beta Wednesday, February 7, 2001 ------------------------------ * More new features. makeztxt can now generate zTXTs to take advantage of the on-demand decompression feature of GutenPalm 1.40. This entails compressing 8K chunks of text using the flush method Z_FULL_FLUSH. This allows random access (on a record boundary) once record #1 has been decompressed. * New option -z or -compression. A value of 1 uses the new method of compression. A value of 2 behaves as the old version did. Method 2 also gets about 10% - 15% more compression at the sacrifice of no random access. * With all of the changes, I decided to sync the version numbers of GutenPalm and makeztxt. makeztxt v1.20 Sunday, January 28, 2001 ------------------------------ * Big rewrite of makeztxt. * If you specify "-" as your input file, makeztxt will read from stdin instead of a file. For this to work, you must use -t and -o to specify the DB title and output filename. * Moved all of the zTXT specific stuff into libztxt. This library should be really portable and will be quite helpful to anyone who wants to make zTXT databases without using makeztxt. makeztxt v1.12 Thursday, January 25, 2001 ------------------------------ * Bugfix from Zachary P. Landau . On rare occasions, makeztxt would overrun the input buffer by one causing a segfault. * Oops. Forgot to include the Makefile in the source distribution. * Added better command line help for the 'adjust' option. * Because text files can all be formatted in different ways, makeztxt now computes the averge length of a line throughout the entire file. Lines longer than this length minus five will have their linefeed stripped. This can be overridden with either -adjust or -length. This does, in general, result it much better automatic formatting. * To take advantage of the new auto line length detection, -adjust mode 0 now uses the computed length instead of 70. makeztxt v1.10 Tuesday, January 9, 2001 ------------------------------ * The distribution has been split into two separate directories: one for GutenPalm and one for makeztxt. Hence, the ChangeLog has been split as well. * You no longer need to run your input documents through a DOS to UNIX conversion program before feeding them to makeztxt. maketzt now strips off a CR at the end of a line if present. makeztxt also supports a user config file in the home directory called .gutenpalmrc. This file contains regular expressions, one per line, which are automatically used when running makeztxt. These additions were provided by Martin Smith (martin@sharrow.demon.co.uk). Thank you again! * makeztxt now supports three modes of file conversion. These are selected with the -a/--adjust command line option. Mode 0, the default, strips off linefeeds only if the line is longer than 70 characters. Mode 1 strips linefeeds if the line contains any text at all. Mode 2 leaves the text unchanged. The should help preserve some formatting in books, like chapter titles, the table of contents, etc. GutenPalm v1.00 Saturday, September 23, 2000 ------------------------------ * First official release of GutenPalm! * No program changes from last beta. * My testing has continued and thus far, all is well. * A few doc updates regarding compiling the source yourself. There was some confusion due to the use of two copies of zLib (Palm and host machine). * Added a file called FILES which briefly describes what each file is for * Many website updates at http://gutenpalm.sourceforge.net GutenPalm v1.0b1 Saturday, September 16, 2000 ------------------------------ * Got rid of the bookmarks menu item under Options. Didn't have anything to use it for. * Completely overhauled the bookmarks system. The old way was stupid and separated the zTXT provided bookmarks and user bookmarks. More complex and didn't really add much. Now it's simpler and all bookmarks are kept with the zTXT DB. * As a consequence, removed the last modification data checking in the cache code. This was to determine if the cache was still valid, but now when you add/remove bookmarks, that timestamp is changed frequently. * You can now add bookmarks while reading AND delete them. * Added a whole bunch more documentation in the README file including some examples of the regex bookmark generation. GutenPalm v1.0b Monday, September 11, 2000 ------------------------------ * Miscellaneous bug fixes all around. * makeztxt now accepts regular expressions on the command line to generate bookmarks in the generated database. * GutenPalm now supports bookmarks! Huzzah! Well, mostly huzzah. Most of the code is present for user bookmarks added within GutenPalm, but it isn't implemented yet. * Tapping on the percentage display now allows you to jump to an arbitrary position in the zTXT. * Even more testing. This version will likely become 1.0 even if I don't get the user bookmarks added. If I don't get them added in time, that will be in version 1.1. But... you never know... * The bookmarks menu option still doesn't do anything... don't know if it will. It might be used for some options dealing with user bookmarks. GutenPalm v0.9.9a Monday, September 4, 2000 ------------------------------ * Finally fixed that stupid back-paging bug. It was caused, more or less, by bad code. To that end, all of the document display code has been mostly rewritten to use integer offsets into the text records rather than storing pointers. This should have been done from the beginning. * Options now exist to keep the cached data and to skip the Project Gutenberg license text (if it is present). * A little dot appears in front of the document name in the document list if a cache exists for that doc. * There are now menu options to delete the saved caches. You can delete the cache from the currently highlighted zTXT or delete them all. * Fixed a file naming bug in makeztxt which occured if the input file did not have any extension. * Did a bunch of testing with POSE and several different text files. GutenPalm didn't crash. Huzzah! GutenPalm v0.9.8a Wednesday, August 30, 2000 ------------------------------ * Cache stuff relied on LocalID's not changing. They do. So now it stores the DB names instead of their LocalIDs. Safer this way. * Restoring an in-progress document died horribly if the user stopped reading on a record boundry. * Progress indicator while decompressing * Progress while reading (given as a percentage) * There still exists a nasty bug that will freeze GutenPalm when you are paging backwards. However, it only occurs *sometimes* and I've yet to figure out the circumstances. It only seems to occur on the boundry between records 0 and 1. Hmmmmm... GutenPalm v0.9.7a Tuesday, August 29, 2000 ------------------------------ * Added preference databases * Caching structure for storing uncompressed data * Persistant position when you quit while reading * Options to keep uncompressed data around (no way to set it yet though) * Bug fixes... GutenPalm v0.9.5a Monday, August 28, 2000 ------------------------------ * started keeping a changelog