home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
TELECOM
/
UUCP_Blars.lzh
/
getargs.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-08
|
854b
|
52 lines
#include <stdio.h>
getargs(command, argsp)
char *command;
register char ***argsp;
{
register char *cp;
*argsp = (char **)malloc(strlen(cp = command) * sizeof (char *));
for(;;) {
anotherarg:
switch(*cp) {
case ' ': case '\t': case '\r': case '\l':
cp++;
break;
case '\0':
**argsp++ = (char *)NULL;
return 0;
case '"':
**argsp++ = ++cp;
for(;;) {
switch(*cp) {
case '"':
*cp++ = '\0';
goto anotherarg;
case '\0':
**argsp = (char *)NULL;
return 0;
default:
cp++;
break;
}
}
default:
**argsp++ = cp++;
for(;;) {
switch(*cp) {
case ' ': case '\t': case '\l': case '\r':
*cp++ = '\0';
goto anotherarg;
case '\0':
**argsp = (char *)NULL;
return 0;
default:
cp++;
break;
}
}
}
}
}