Commit Graph

207 Commits

Author SHA1 Message Date
Andy McFadden cf4ab2ee2f Mention OS X in README 2015-01-03 17:07:43 -08:00
Andy McFadden 76ee85b6ec Update README
Added note to Win32 section about missing Unicode support.
2015-01-03 17:05:58 -08:00
Andy McFadden 24a49dfece Update ChangeLog 2015-01-03 17:01:38 -08:00
Andy McFadden 132a8338b9 Fix Mac OS X behavior
Some fixes to the Mac OS X build:

- Replace the Carbon calls that were used to set the creator
and file type with xattr calls.  The Carbon stuff still worked
but caused deprecation warnings.  Stop linking against Carbon.

- Correct the way resource forks are accessed (from "/rsrc" to
"/..namedfork/rsrc").  The native resource fork support is
incomplete and doesn't work quite right, so it's now disabled.
(Which means the corrections to the file name don't actually do
anything, but you can at least play with it.)

- Correct the file/aux type conversion, which appeared to do
useful things but actually didn't in some circumstances (e.g. when
adding files, the code for acquiring the file types needs to be in
NuLib2, not NufxLib).

- Set creator and file type to 'pdos' values when extracting from
a Binary ][ archive.

Also, drop some old purify/quantify stuff.
2015-01-03 15:59:37 -08:00
Andy McFadden 1286c3518e Minor Mac fixes
Eliminated the two inline functions.  Support for function inlining
in plain C is a bit uneven.  The CRC calculation is now a macro,
and the thread get-by-index is a plain function.
2015-01-03 11:24:12 -08:00
Andy McFadden c6c7133d43 Drop SunOS 4 support 2015-01-02 18:17:00 -08:00
Andy McFadden ad2ec98e8b Win32 fix 2015-01-02 17:44:10 -08:00
Andy McFadden e7bf743afd Missed a filename 2015-01-02 17:23:35 -08:00
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 5d5dd3900f Missed a "uint". 2014-12-22 16:20:39 -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 cf433eeae0 Don't delete Version.c
We used to generate Version.c, so it was being removed by the
"distclean" target.
2014-12-21 10:18:26 -08:00
Andy McFadden 281813a8ea Tweak .gitignore 2014-12-11 16:28:38 -08:00
Andy McFadden 8841f72b57 Updated. 2014-10-30 12:09:37 -07: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 c4bed18e6b Remove vestigial declaration 2014-10-30 11:13:08 -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 8f1bea0a47 Allow flag string to be undefined. 2014-10-29 14:01:33 -07:00
Andy McFadden d34f09ba8f Remove sed step from build. 2014-10-29 09:24:47 -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 7b5dc79606 Eliminate some compiler warnings. 2014-10-28 10:45:25 -07:00
Andy McFadden 64fa086713 Rebuilt configure script with current version of autoconf. 2014-10-28 10:36:49 -07:00
Andy McFadden 3ad844e5c4 Added .gitignore files. 2014-10-28 10:36:26 -07:00
Andy McFadden ec84cadfee Remove placeholder version number from directory name. 2014-10-28 10:27:31 -07:00
Andy McFadden 801110ec1f Delete CVSROOT 2014-10-28 10:25:52 -07:00
Andy McFadden 33ba22ebd6 Create README.md 2014-10-27 17:30:51 -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 c3a9598bb8 Changed from LGPL to BSD license. 2007-02-19 23:12:22 +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 56379e1db4 Automatically detect and handle "bad Mac" archives. 2007-02-19 22:37:59 +00:00
Andy McFadden 8aab8caff1 Test for buffer overrun when unpacking RLE. 2006-12-02 20:05:56 +00:00
Andy McFadden cced2e7ab4 Fix minor packaging issues. 2006-02-19 01:55:20 +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