[Coco] CRLF Program

Bill Pierce ooogalapasooo at aol.com
Thu Oct 25 15:13:15 EDT 2012


John,
PCDOS is for reading MSDOS disks in OS9
RSDOS is for reading RSDOS disks in OS9 (I uses this quite frequently)
EATLF just might be what he's looking ofr
FFIX I've never seen, but I'll check it out

Bill P

Music from the Tandy/Radio Shack Color Computer 2 & 3
https://sites.google.com/site/dabarnstudio/
Bill Pierce
ooogalapasooo at aol.com


-----Original Message-----
From: John Donaldson <johnadonaldson at sbcglobal.net>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Sent: Thu, Oct 25, 2012 1:38 pm
Subject: Re: [Coco] CRLF Program

________________________________
I did some search on the Internet for a OS9 program that will take a DOS text 
file and convert it to OS9 format.
I found references for these

PCDOS
RSDOS
EATLF
FFIX

Don't know if they are C, Basic09 or what.

Then I cam across this article in a PDF

CRLF.c
A conversion program by James Jones
The following is a highly spedal purpose program
that I use to switch EOL from LF to CR when I've
snarfed Nux! [Unix) text files over to OS-9. NOTE:
we're talking updating the files *in place"'. This is a
Good Thing if that's what you want, because it
m!n;mizes fl.ailing about with deleting and rena.ming
and avoids a (perhaps trivial) amount of fragmentation
of the disk, but it's a Bad Thing if that's "'not'" what
you want, in which case copy first, then crif.
James Jones
Editors Note: In the following code, llnes that are too
long to fit within one of our columns are "wrapped",
and have a backslash ("\"J at the end of the first line
to indicate that the program llne continues on the next
physical line. Most C compllers should accept the
program exactly as shown here. If yours does not,
remove the backslash and append the following line to
the end.
Happy Programming!

/*
* crlf -- a bulk-mode LF->CR translator for REF
* files
*
* Hack to use two paths courtesy Peter Dibble;
* it is best in any case to read/write multiples
* of a sector, but given\ the use of the two
* paths, it is probably even more important
* because of record locking.
*
* -? option added by Scott McGee.
*/
#include <stdio.h>
#include <modes.h>

main (argc, argv)
int argc;
char *argv[];
{
int i;
int inpath, outpath;
    /* if no filename is given show help */
    if (argc == 1) ShowHelp();

    /* if arg starts with '-' show help */
    for (i = 1; i < argc; i++)
       if (argv[i][0] == '-') ShowHelp();

    
    for (i - 1; i < argc; i++) {
       if ((inpath - open(argv[i], S_IREAD)) == -1) || (outpath = open(argv[i], 
S_IWRITE)) == -1) 

        fprintf(stderr, "crlf: can't open %s\n", argv[i]);
       else
        DoCRLF(inpath, outpath);
       if (inpath != -1)
        close(inpath);
       if (outpath != -1)
        close (outpath);
    }
}


#define HUNKSIZE (10 * 1024)

char Hunk[HUNKSIZE];

DoCRLF(inpath, outpath)
register int inpath;
register int outpath;
{
   register char *HScan;
   register int  Qty;

   while ((Qty = read(inpath, Hunk, HUNKSIZE)) > 0) {
    for (HScan = &Hunk[Qty];  --HScan >= Hunk; ) {
       if (*HScan == '\l')
        *HScan = '\n';
    }
    write(outpath, Hunk, Qty);
   }
}

ShowHelp()
{
    fprintf(stderr, "crlf - a bulk-mode LF->CR translator for RBF files\n");
    fprintf(stderr, "  Usage: crlf <path> [<path>] \n");
    fprintf(stderr, "         crlf -? - Show this help message\n");
    exit(O);
}

--
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco

 



More information about the Coco mailing list