I tried it to 5.0-RELEASE. It works with my previous crontab file.

From: Thomas Quinot <[EMAIL PROTECTED]>
Subject: Re: 5.0 cron problem
Date: Fri, 7 Feb 2003 11:37:42 +0100

> Right, the according to the man page inner whitespace in the unquoted
> right-hand part of an environment variable assignment should be preserved.
> Please try the following patch:
> 
> Index: lib/env.c
> ===================================================================
> RCS file: /home/ncvs/src/usr.sbin/cron/lib/env.c,v
> retrieving revision 1.11
> diff -u -r1.11 env.c
> --- lib/env.c 23 May 2002 13:16:30 -0000      1.11
> +++ lib/env.c 7 Feb 2003 10:34:48 -0000
> @@ -193,14 +193,16 @@
>                                       break;
>                               }
>                       } else {
> -                             if (isspace (*c)) {
> -                                     state++;
> -                                     c++;
> -                                     break;
> -                             }
> -                             if (state == NAME && *c == '=') {
> -                                     state++;
> -                                     break;
> +                             if (state == NAME) {
> +                                     if (isspace (*c)) {
> +                                             c++;
> +                                             state++;
> +                                             break;
> +                                     }
> +                                     if (*c == '=') {
> +                                             state++;
> +                                             break;
> +                                     }
>                               }
>                       }
>                       *str++ = *c++;
> @@ -232,9 +234,14 @@
>               Set_LineNum(fileline);
>               return (FALSE);
>       }
> +     if (state == VALUE) {
> +             /* End of unquoted value: trim trailing whitespace */
> +             c = val + strlen (val);
> +             while (c > val && isspace (*(c - 1)))
> +                     *(--c) = '\0';
> +     }
>  
> -     /* 2 fields from parser; looks like an env setting
> -      */
> +     /* 2 fields from parser; looks like an env setting */
>  
>       if (strlen(name) + 1 + strlen(val) >= MAX_ENVSTR-1)
>               return (FALSE);
> 
> -- 
>     [EMAIL PROTECTED]

--
CHOI Junho <http://www.kr.FreeBSD.org/~cjh>     KFUG <cjh at kr.FreeBSD.org>
FreeBSD Project <cjh at FreeBSD.org>        Web Data Bank <cjh at wdb.co.kr>
Key fingerprint = 1369 7374 A45F F41A F3C0  07E3 4A01 C020 E602 60F5

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to