Commit Graph

85 Commits

Author SHA1 Message Date
Andy McFadden
e2088e64d3 Distinguish Unicode and Mac OS Roman strings
NufxLib has historically made no effort to distinguish between
the character set used for filenames on the local disk, and for
filenames stored within the archive.  Now all Unicode filename
strings use the UNICHAR type and have "UNI" in the name, and all
Mac OS Roman strings have "MOR" in the name.  (The naming
convention makes it obvious when you're assigning the wrong thing;
on Linux both formats are char*, so the compiler won't tell you
if you get it wrong.)

The distinction is necessary because filesystems generally support
Unicode these days, but on Windows you need to use a separate
set of wide-character file I/O functions.  (On Linux it all works
with "narrow" strings, and the UTF-8 encoding is interpreted by
applications.)  The character set used for NuFX archive filenames
is MOR, matching what GS/OS + HFS supported, and we want to be able
to convert back and forth between MOR and a Unicode representation.

This change updates the various character types and string names,
adds conversion functions, and updates NuLib2 for proper execution
on Linux.  It does not include the (probably extensive) changes
required for Windows UTF-16 support.  Instead, the conversion
functions are no-ops, which should result in NuLib2 for Windows
continuing to behave in the same slightly broken way.

This adds "test-names", which exercises Unicode filenames a bit.
It will not pass on Win32.

Also, tweaked the Linux makefiles to have explicit dependencies,
rather than empty space and an expectation that "makedepend" exists.

Also, minor source code cleanups.

While this probably doesn't affect binary compatibility -- it's
mainly a matter of naming and string interpretation -- there's
enough going on that it should be considered an API revision, so
this updates the version to 3.0.0.
2015-01-02 17:14:34 -08:00
Andy McFadden
f4dea8b251 Update READMEs
Updated the build instructions in the READMEs.
2014-12-23 11:29:01 -08:00
Andy McFadden
dbbbe6a858 Version bump to 2.3.0 2014-12-22 16:12:06 -08:00
Andy McFadden
524e0926e7 Fix include guards
Symbols starting with "__" are reserved for use by the compiler.
2014-12-22 16:06:55 -08:00
Andy McFadden
9666ebd97a Move method return type to declaration line
Having the method name up against the left edge used to be common
practice, because you could jump to a method quickly by searching
for "^name".  Now we have "ctags" and IDEs.
2014-12-22 16:00:33 -08:00
Andy McFadden
20c9ac1195 Use integer types with explicit widths
Replace types like "unsigned char" and "ushort" with <stdint.h>
types like uint8_t.

Remove uchar/ushort/uint/ulong from autoconf.
2014-12-22 14:56:12 -08:00
Andy McFadden
ce1b57e2ad Change "nil" to "NULL" 2014-12-21 18:17:23 -08:00
Andy McFadden
e3ae922645 Merge branch 'master' of https://github.com/fadden/nulib2
s necessary,
2014-10-30 11:52:39 -07:00
Andy McFadden
31a15746d0 Update ChangeLog. 2014-10-30 11:51:50 -07:00
Andy McFadden
fbe63902ba Tweak Win32 build
Use an export definition file to avoid generation of unnecessary
output by the linker.

Deleted some obsolete files.
2014-10-30 11:40:14 -07:00
Andy McFadden
d9841e7c8a Check in a formatted version of the man page. 2014-10-30 11:04:20 -07:00
Andy McFadden
5e44597d05 Fix Win32 build
This replaces the old makefiles, and corrects the symbol test
from WIN32 to _WIN32.
2014-10-29 16:17:18 -07:00
Andy McFadden
8b83c7afe5 Update version to 2.2.2 ("bug" version bump). Nudge the
copyright banner.
2014-10-28 11:03:46 -07:00
Andy McFadden
d8d9bb378d Fix compiler warning. 2014-10-28 10:50:43 -07:00
Andy McFadden
f1910150f5 Remove version number from nufxlib directory. 2014-10-28 10:50:13 -07:00
Andy McFadden
6adffc61b6 Rebuilt configure script with current version of autoconf. 2014-10-28 10:49:51 -07:00
Andy McFadden
30f3429d67 Added .gitignore. 2014-10-28 10:49:20 -07:00
Andy McFadden
f1efb63d68 Better fix. 2009-01-13 21:02:52 +00:00
Andy McFadden
f265e2555a Nudge. 2009-01-13 20:17:45 +00:00
Andy McFadden
aa61e5ae48 ProTERM can prepend a 128-byte Binary ][ header before transmitting a file.
When it does so it does not pad the file's length out to a multiple of
128 bytes, which confused the file extraction code.
2009-01-13 20:16:23 +00:00
Andy McFadden
b430f08d1e Changed from GPL to BSD license. 2007-02-19 23:11:55 +00:00
Andy McFadden
1f19d2873f Enable recognition and handling of "bad Mac" archives. 2007-02-19 22:38:15 +00:00
Andy McFadden
1f3d7b1083 Fix some minor packaging issues. 2006-02-19 01:55:02 +00:00
Andy McFadden
2b5c399f78 Updated version to v2.1.1. 2006-02-19 01:31:34 +00:00
Andy McFadden
1d2be9c9ab Updated copyrights to 2006. 2006-02-19 01:23:27 +00:00
Andy McFadden
376b8c93d8 Correct handling of MS-DOS reserved names. 2006-02-19 01:15:42 +00:00
Andy McFadden
f87168ce85 Updated for v2.1.0. 2005-09-18 07:00:13 +00:00
Andy McFadden
8e31d94585 Updated copyright notices. 2005-09-18 02:41:31 +00:00
Andy McFadden
59a4d5be01 Updated with latest from http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/. 2005-09-18 02:39:42 +00:00
Andy McFadden
1c57f7b3e4 Increased version to v2.1.0. 2005-09-18 02:18:21 +00:00
Andy McFadden
70aba4ca5b Increment version in MS-DOS makefile. 2004-10-11 22:22:00 +00:00
Andy McFadden
8effea7000 Upgraded to most recent autoconf. Un-nested some directives. 2004-10-11 21:30:43 +00:00
Andy McFadden
e67a0318fa Updated autoconf scripts. 2004-10-11 19:54:17 +00:00
Andy McFadden
885238346b Updated ChangeLog for v2.0.3 release. 2004-10-11 19:43:02 +00:00
Andy McFadden
1b1bafb12b Upped version to v2.0.3. 2004-08-23 00:00:44 +00:00
Andy McFadden
804ca87a19 Looks like I forgot to re-run autoconf after changing "darwin6" to "darwin"
in configure.in.
2004-03-18 17:22:09 +00:00
Andy McFadden
bb09a12f75 Updated copyright notices (from 2003 to 2004).
Incremented version to 2.0.2.
2004-03-10 21:26:29 +00:00
Andy McFadden
cd1f9e78a1 Twiddled some comments and upped the version to match NufxLib (v2.0.1). 2003-10-16 22:25:26 +00:00
Andy McFadden
49053fe654 From Eric Shepherd: updates to documentation. 2003-06-24 20:40:28 +00:00
Andy McFadden
5f93a26aac Add "-framework Carbon" to link lines for Mac OS X systems. 2003-06-21 19:00:36 +00:00
Andy McFadden
1d38e11b9d Minor tweaks. 2003-03-19 03:03:07 +00:00
Andy McFadden
cc8f289f09 Updated for v2.0.0 release. 2003-03-19 01:24:46 +00:00
Andy McFadden
4d194464db Updated with latest from ftp://ftp.gnu.org/pub/gnu/config/
(filestamp 2003/02/22).
2003-03-12 02:46:20 +00:00
Andy McFadden
80c9b78516 The test for really long filename extensions was broken. 2003-03-12 02:39:43 +00:00
Andy McFadden
486cae404e Removed wayward ^M. 2003-03-11 22:11:30 +00:00
Andy McFadden
472f7dceb0 Enable kNuValueStripHighASCII. 2003-03-10 23:01:44 +00:00
Andy McFadden
575f591f69 Corrected off-by-one error in ProDOS day and month conversion. 2003-03-10 02:40:44 +00:00
Andy McFadden
8b44f2a7b2 Minor tweaks to MSC makefile. 2003-03-06 01:06:07 +00:00
Andy McFadden
49f396f5c3 Link against nufxlib2.lib instead of nufxlib.lib. 2003-02-27 21:36:35 +00:00
Andy McFadden
da714d7c9b Switch to case-insensitive filename comparisons. This matters most when
extracting or deleting files by name.
2003-02-18 22:20:30 +00:00