home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
old
/
ckermit70
/
dokermit.c
< prev
next >
Wrap
C/C++ Source or Header
|
2020-01-01
|
935b
|
48 lines
/* d o k e r m i t -- do a list of Kermit commands */
/*
Usage: "dokermit command, command, command, ..."
Encloses the command list in -C "..." and adds ", exit",
invokes the real Kermit program with it, and returns
the Kermit program's exit status.
F. da Cruz, Colubmia University, Feb 2001.
*/
#include <stdio.h>
#define BUFLEN 10240
#define NUL '\0'
char buf[BUFLEN] = { NUL, NUL };
main(argc,argv) int argc; char *argv[]; {
int i, k, n = BUFLEN;
char * s, * p = buf;
argv[argc++] = ", exit\"";
for (i = 0; i < argc; i++) {
s = (i == 0) ? "kermit -C \"" : argv[i];
k = strlen(s);
if (k < 1)
continue;
if (k > n) {
printf("?Command too long -- %d max\n", BUFLEN);
exit(1);
}
strncpy(p,s,k);
p += k;
n -= k;
if (i == 0 || i == (argc - 2))
continue;
if (i == (argc - 1))
break;
*p++ = ' ';
n--;
}
*p = NUL;
exit(system(buf) & 0xff);
}