> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Jerome BENOIT
> Sent: Wednesday, January 31, 2001 6:48 PM
> To: Cygnus
> Subject: date +"%Z"
>
>
> Hello !
>
> It seems that the command line
>
> date +"%Z"
>
> hangs under Win98.
>
> I hope it helps,
> Jerome BENOIT

The problem is in this section of code in the show_date() routine in date.c:

        do
        {
                out_length += 200;
                out = (char *) xrealloc(out, out_length);
        }
        while(strftime(out, out_length, format, tm) == 0);

It allocates memory 200 bytes at a time until strftime() returns a success
status. The basic premise seems to be to allocate a large enough buffer for
strftime() to write the specified date format into. Unfortunately it's
bumping heads with this basic code in strftime():

        size_t count = 0;

        switch(*format)
        {
                case "Z":
                        break;
        }

        s[count] = '\0';
        return count;

In this case strftime() doesn't support the %Z format, so it always returns
zero. This leads to the code in date continuously allocating memory until
it's completely exhausted.


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

Reply via email to