home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
OS2UTIL.ZIP
/
LF.C
< prev
next >
Wrap
Text File
|
1990-05-21
|
2KB
|
73 lines
#define INCL_SUB 1
#define ARGV 0
#define MASK 1
#define WILD 2
#include "os2.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main(int, char**);
main(argc, argv)
int argc;
char *argv[];
{
char cmd[80], drive[3], wild[4];
char *mask, tack;
puts("LF-Locate File, OS/2 Version, (C) Copr 1988, Marcusfilm Limited\n");
if (strcmp(argv[1], "?") == 0) {
puts(" LF [d:] [filename] [switches]");
puts("\n Switches");
puts(" /E Display .EXE type");
exit(1);
}
strcpy(cmd, "where /r ");
if (argc == 1 || strcmp(strlwr(argv[1]), "/e") == 0) {
strcpy(wild, "*.*"); /* no arguments: *.* */
tack = WILD;
}
else
{
mask = strchr(argv[1], ':'); /* drive ? */
if (mask) { /* drive specified */
if ( strlen(argv[1]) == 2 ) {
strcpy(wild, "*.*"); /* drive & no filename */
tack = WILD;
}
else {
*mask++; /* drive and filename */
tack = MASK;
}
strncpy(drive, argv[1], 2);
drive[2] = NULL;
strcat(cmd, drive);
}
else
tack = ARGV;
}
strcat(cmd, "\\ /t ");
if (strcmp(strlwr(argv[argc-1]), "/e") == 0)
strcat(cmd, "/e ");
switch (tack) {
case ARGV:
strcat(cmd, argv[1]);
break;
case MASK:
strcat(cmd, mask);
break;
case WILD:
strcat(cmd, wild);
}
return(system(cmd));
}