Don't we -already- have some argv parsing code in either proc.c or the mod_cgi
that could be used for this purpose???  Let's make that exported, accessible
code from apr itself.

Bill

At 03:31 PM 8/19/2002, Paul J. Reder wrote:
>After fixing the parse_cmd code to be able to handle escaped quotes (so that
>it would process the full
>          <"/bin/awk '{print NR\": \" $N}'">
>instead of just
>          <"/bin/awk '{print NR\">
>(and then an error for the <: \" $N}'"> part)) I ran into what appears to be
>the next problem.
>
>In parse_cmd it runs
>
>         /* parms now has the command-line to parse */
>         while (filter->numArgs < 30 &&
>                strlen(filter->args[filter->numArgs] = 
> ap_getword_white_nc(p, &parms))) {
>             ++filter->numArgs;
>         }
>
>to break the command string into an args list of tokens. This code uses 
>*only* white
>space as delimeters. Thus the input command string
>          "/bin/awk '{print NR\": \" $N}'"
>
>gets broken into
>           /bin/awk
>           '{print
>           NR\":
>           \"
>           $N}'
>
>The question I have is, shouldn't this break down into either
>           /bin/awk
>           '{print NR\": \" $N}'
>or
>           /bin/awk
>           '{print NR\
>           ": \"
>           $N}'
>
>The above listed pieces end up as the args list passed on the apr_proc_create
>call.
>
>
>Thanks,
>
>--
>Paul J. Reder
>-----------------------------------------------------------
>"The strength of the Constitution lies entirely in the determination of each
>citizen to defend it.  Only if every single citizen feels duty bound to do
>his share in this defense are the constitutional rights secure."
>-- Albert Einstein
>


Reply via email to