home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
OS2UTIL.ZIP
/
CAT.C
< prev
next >
Wrap
Text File
|
1990-05-21
|
1KB
|
66 lines
#define INCL_SUB
#include <os2.h>
#include <stdio.h>
#include <string.h>
main(int argc, char **argv);
main(argc, argv)
int argc;
char *argv[];
{
register i;
FILE *fp;
char ch, f, drv[3], path[68], fn[80], *p;
HDIR hdir;
USHORT usSearchCount;
FILEFINDBUF findbuf;
for (i=1; i<argc; i++)
{
hdir = 0xFFFF;
usSearchCount = 1;
if (p = strrchr(argv[i], '\\'))
{
f = *(p+1);
*(p+1) = NULL;
strcpy(path, argv[i]);
*(p+1) = f;
drv[0] = NULL;
}
else
{
path[0] = NULL;
if (strchr(argv[i], ':'))
{
strncpy(drv, argv[i], 2);
drv[2] = NULL;
}
else
drv[0] = NULL;
}
if (!DosFindFirst(argv[i], &hdir, 0x00, &findbuf,
sizeof(findbuf), &usSearchCount, 0L))
do {
sprintf(fn, "%s%s%s", drv, path, strlwr(findbuf.achName));
if ( (fp=fopen(fn, "r")) == NULL)
printf("cat: %s not found.\n", fn);
else
{
while ( (ch = (char)fgetc(fp)) != EOF)
putchar(ch);
fclose(fp);
}
} while (!DosFindNext(hdir, &findbuf, sizeof(findbuf), &usSearchCount));
else
printf("cat: %s not found.\n", argv[i]);
}
return 0;
}