|
|
1.1 root 1: #include "../h/rt.h"
2:
3: /*
4: * system(s) - execute string s as a system command.
5: */
6:
7: Xsystem(nargs, arg1, arg0)
8: int nargs;
9: struct descrip arg1, arg0;
10: {
11: char sbuf[MAXSTRING];
12:
13: DeRef(arg1)
14:
15: /*
16: * s must be string and smaller than MAXSTRING characters long.
17: */
18: if (!QUAL(arg1) || STRLEN(arg1) < 0)
19: runerr(103, &arg1);
20: if (STRLEN(arg1) >= MAXSTRING)
21: runerr(210, &arg1);
22: qtos(&arg1, sbuf);
23:
24: /*
25: * Pass the C string made by qtos to the UNIX system() function and
26: * return the exit code of the command as the result of system().
27: */
28: mkint((long)((system(sbuf) >> 8) & 0377), &arg0);
29: }
30:
31: Procblock(system,1)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.