How to provide Shell Escape from a C program?
Gary Weimer
weimer at ssd.kodak.com
Wed Nov 21 02:06:35 AEST 1990
In article <349 at clbull.cl.bull.fr> rudrak at saphir.cl.bull.fr (Rudrakshala Purushotham) writes:
>I want to provide shell escape feature from a C program. But I am having
>some problems with the following code:
>
> for (i = 2; i < MAX_ARGS && (s = strtok (command, " \t")); i++)
> args [i] = strsave (s);
>
>I am using C shell and System V. I tried `/bin/ls -l -R' as input to
>shell_escape (), my .login file gets executed here and /bin/ls is executed
>(without -l -R) options.
>
>Can some body help me with this problem?
>From the man page for strtok:
strtok() considers the string s1 to consist of a sequence of
zero or more text tokens separated by spans of one or more
characters from the separator string s2. The first call
(with pointer s1 specified) returns a pointer to the first
character of the first token, and will have written a null
character into s1 immediately following the returned token.
The function keeps track of its position in the string
between separate calls, so that subsequent calls (which must
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
be made with the first argument a NULL pointer) will work
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
through the string s1 immediately following that token. In
this way subsequent calls will work through the string s1
until no tokens remain. The separator string s2 may be dif-
ferent from call to call. When no token remains in s1, a
NULL pointer is returned.
More information about the Comp.unix.programmer
mailing list