This problem has been fixed recently. The new code is
/* special case: "Change %s" */
if (strstr(orig, "Change ") && strcmp(orig, "Change %s") != 0) {
sprintf(result, loc("Change %s"), orig + 7);
return result;
}
Alternatively you can get the updated version from CVS.
- Stefan |
> Have a look at the gcc info pages:
>
> $ info gcc "invoking gcc" "warning options"
Sure, I'm not stupid! I looked for ~10 minutes how to turn off the remaining
warnings, but I could not find it. The code is now correct, like I do want the
"%y" format specifier in the strftime() function, but the warning is wrong. The
closest I came to was
-W -Wall -Wno-format
which removes ther warning in strftime(), but I do want this warning, since it
helps in many other printf() statements. |
> > Have a look at the gcc info pages:
> >
> > $ info gcc "invoking gcc" "warning options"
>
> Sure, I'm not stupid!
Sorry, didn't mean to offend you.
> I looked for ~10 minutes how to turn off the remaining
> warnings, but I could not find it. The code is now correct, like I do want the
> "%y" format specifier in the strftime() function, but the warning is wrong.
One way to remove the warnings would be to use "%Y" in a separate strftime() call
and then taking only the last two digits (characters) of that string.
Something like:
old:
strftime(str, sizeof(str), "%A, %d-%b-%y %H:%M:%S GMT", gmt);
new:
strftime(str, sizeof(str), "%A, %d-%b-XX %H:%M:%S GMT", gmt);
strftime(year, sizeof(year), "%Y", gmt);
i=strstr(str,"XX"); /* find position of XX */
if ( i+1 < sizeof(str) ) {
str[i] =year[3];
str[i+1]=year[4];
} else ...
Somewhat cumbersome, but should work. Maybe consider using the four
digit year directly, where possible.
Gruss, Heiko |