Subj : SBBS4Linux compatibility
To   : All
From : Digital Man
Date : Wed Nov 08 2000 05:39 am

Actually, I anticipate other Unix-like os flavors of Synchronet too, so this
post doesn't just apply to Synchronet for Linux.

One of major incompatibilties I've come across in porting Synchronet to a
Unix-like OS (Linux) is file/directory name case sensitivity and use of
backslash as the path delimiter.

These "incompatibilities" existed both in the Synchronet C/C++ source code as
well as the various command shells and loadable modules (EXEC/*.src) included
with Synchronet.

In the C/C++ source code, I've switched to using lowercase path and filenames
only and slashes (instead of backslahses) as path delimiters. These are
backwards compatible with DOSish file systems (e.g. FAT16/32, HPFS, NTFS). I've
also had to go through the command shells and change backslashes to forward
slashes and convert path and filenames to lowercase.

While it is not strictly necessary to convert path and filenames to lowercase
(as long as they were specified with a consistent case), uppercase filenames
on Unix file systems typically denote special files, and are discouraged for
general use (as well as being considered "ugly"). Rather than trying to create
a "strategy" of which filenames should be uppercase and which should be
lowercase (or even mixed case), I've generally just converted (almost)
EVERYTHING to lowercase. Compatibility with DOSemu file systems hasn't been
determined, so drop files for DOS doors (for example), may need to be created
in upper case.

It is however, REQUIRED that forward slashes be used in paths instead of
backslashes. And lucky for us, Microsoft has always maintained Unix-style slash
compatibility at the system level, so there will be no incompatibilities with
DOSish file systems when forward slashes are used.

So, basically, this is a heads-up to Baja programmers (and door programmers for
that matter), using consistently lowercase paths and filenames and forward
slashes as path delimiters in your modules and programs will allow them to be
compatible with BOTH DOS-based and Unix-based platforms.

Rob

---
� Synchronet � Vertrauen � Home of Synchronet � telnet://vert.synchro.net