The -std=c89 option is too pedantic, and the old CodeWarrior compiler
accepts various extensions (like line comments) anyway. Rather than
using -std=c89 to ensure the code is compatible with old compilers, we
will actually test on the old compilers.
The GUI program's project is not checked in. It was compiled and tested
with CodeWarrior Pro 4.
The GUI program allows users to create new synchronization projects,
select folders to synchronize, and save and open projects. The code is
probably broken and buggy, and probably dereferences NULL pointers here
and there, but the basic shell is there.
The trailing comma is supported in MPW and GCC. It fixes the formatting
issue with clang-format and makes cleaner diffs, so trailing commas have
been added to enums and clang-format has been run over the sources.
Among other uses, these constants are used on HFS+ volumes to choose
which encoding to use when converting Unicode filenames back to an 8-bit
string for old Mac OS APIs.
This is documented in TN 1150 under "Text Encodings".
https://developer.apple.com/library/archive/technotes/tn/tn1150.html
Tests pass on Mac OS X 10.4 PPC.
- Added new source files
- The target is now convert_test instead of syncfiles, because that's
what it is
- Header search paths moved to project settings instead of target
settings
This simplifies the conversion test, since we don't need to be careful
about which data we run the conversion test in. It will also simplify
the command-line conversion tool and its distribution. The classic Mac
OS version of this program will continue to embed conversion tables in
the resource fork.
The main intent is to not allow enums to get condensed to a single line,
but this has the side effect of making clang-format stop attaching
braces to the start of the enum. I felt it made sense to use a different
brace style everywhere rather than live with just enums with braces on a
separate line.