============================================================================= udl - Convert EOL formats freely between MS-DOS (CR/LF), Unix/Amiga (LF), and Apple (CR). (c) 1993-1995 Soenke Behrens, Devin Reade Version 1.14: $Id: README,v 1.7 1995/02/13 19:47:25 gdr Exp $ ============================================================================= Udl converts text files between CR, LF and CR/LF (Apple, Unix and MS-DOS). It is a very fast utility that ensures that the integrity of the file cannot be compromised during the translation. It is also much easier to use than tr(1). ================ Revision History: ================ v1.01 Tabs are left alone now. Also recognizes CR/LF (MeSsy-DOS). v1.02 Does no longer read in the complete file, instead creates a temp file in prefix 3/. v1.03 Fixed a bug, allocated not enough mem for strncpy. v1.1 Changed to use static GS/OS strings again. Made faster by factor 5.8. v1.11 Cleaned the code up a bit, wrote a Makefile, all output by udl is prefixed with the name it was invoked with. v1.12 Sped up Apple <-> Unix conversion further (factor 1.5). v1.12 (Unix) (December 1993) Modified source to produce a Unix version v1.13 (Updated by Devin Reade, November 1994) Added ability to recurse through directories (-R flag). Changed behavior to ignore binary files rather than exiting. Merged Unix and Apple IIgs versions. No message is printed out when a binary file (or, in the IIgs implementation, a non-TXT or non-SRC file) is encountered unless the -v option is specified. v1.14 (Soenke Behrens, Devin Reade, February 1995) udl creates a temporary file in the directory of the source file, not in /tmp. This reduces the likelihood of data loss in the event of a system crash or powerdown. udl now accepts something like "udl -R directory/" without affixing an extra '/' to "directory/". Fixed bug (via the BROKEN_DIRENT_STRUCT macro) that was causing filename-munging on Solaris. It seems that the sys/stat.h header file doesn't agree with the stat implementation. Modified Makefile.gs to properly write the new executable over the old resource fork for udl. The resource fork originates with the file udl.r. Added suggested defines to the README for various Unix platforms. Man page changes, including grammar and the deletion of a bug that no longer exists. Fixed bug where invoking 'udl -u directory' would attempt to deref a NULL pointer, causing either memory tromping (IIgs) or a core dump (Unix). Tested under SunOS 4.x, SunOS 5.x (Solaris), and AIX. ========= Compiling: ========= There are two makefiles included: Makefile.gs - for use on the Apple IIgs running GNO Makefile.unix - for use with Unix systems. Although udl on the IIgs can be run from either GNO or ORCA shells, it cannot be built with the standard ORCA installation due to a lack of additional libraries. Before you type "make", have a look at the Makefile and edit the defines to your liking. Proper defines for Unix systems should be as follows: SunOS 4.x: (tested with gcc) -DREADDIR_RETURNS_DOT -DBROKEN_REALLOC -D_POSIX_C_SOURCE -D_POSIX_SOURCE SunOS 5.x (Solaris): (tested with SUNWspro cc) -DREADDIR_RETURNS_DOT -DBROKEN_DIRENT_STRUCT -D_POSIX_C_SOURCE -D_POSIX_SOURCE AIX 3.2: (tested with xlc) -DBROKEN_REALLOC -D_POSIX_C_SOURCE -D_POSIX_SOURCE Also, udl.c assumes that getopt() is declared in and that the function strdup() exists in . You might want to change these includes if that's not the case. ======= Authors ======= Original code by Soenke Behrens with modifications and version-merging by Devin Reade ========== Legalities: ========== This program contains material from the Orca/C Run-Time Libraries, copyright 1987-1995 by Byte Works, Inc. Used with permission. =============================================================================