[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]
Re: [ID 20000121.005] System command starting with environment
Dominic Dunlop writes:
>
> At 16:07 -0800 2000-01-21, Doug Wilson wrote:
> >A non zero status is returned from the
> >system() function when the supplied command
> >begins with an environment variable setting
> >where the environment variable contains an
> >underscore or a digit.
>
> It's not HP-specific, or 5.005_03-specific. Here's a one-line fix.
> It's against 5.005_03, as that's what the report's against, but also
> applies to 5.005_63 (with an offset of 184 lines).
>
> --- perl5.005_03/doio.c-as_received Sat Mar 27 17:57:24 1999
> +++ perl5.005_03/doio.c Sat Jan 22 18:10:15 2000
> @@ -1069,7 +1069,7 @@ do_exec(char *cmd)
> if (strnEQ(cmd,"exec",4) && isSPACE(cmd[4]))
> goto doshell;
>
> - for (s = cmd; *s && isALPHA(*s); s++) ; /* catch VAR=val gizmo */
> + for (s = cmd; *s && isALNUM_LC(*s); s++) ; /* catch VAR=val gizmo */
> if (*s == '=')
> goto doshell;
Is not LC locale? Then this is not a fix (set LANG=C), and is a very
dangerous modification (putting locale-dependencies in the core
operation). What about isWORD (sp?)?
Ilya
- Follow-Ups from:
-
Dominic Dunlop <domo@computer.org>
- References to:
-
Dominic Dunlop <domo@computer.org>
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index][Thread Index][Top&Search][Original]