On Tue, 28 Aug 2007, seventh guardian wrote:
On 8/28/07, Dominik Vogt <[EMAIL PROTECTED]> wrote:
On Tue, Aug 28, 2007 at 02:13:20PM +0100, seventh guardian wrote:
On 8/28/07, seventh guardian <[EMAIL PROTECTED]> wrote:
OOPS:
$ make CFLAGS="-g -O2 -Wall -Wpointer-arith -fno-strict-aliasing -Werror"
make all-recursive
make[1]: Entering directory `/home/renato/apps/cvs/fvwm'
Making all in libs
make[2]: Entering directory `/home/renato/apps/cvs/fvwm/libs'
Flocale.c:1464: warning: comparison with string literal results in unspecified b
ehaviour
I'm not sure of how severe this warning is.. Is it a show-stopper?
It is a show-stopper. There were some nasty char* == "foo bar" tests.
Jeez.. I'll fix them.
I think the idea is that for every string literal there is only
one actual instance in the executable, so the code is safe. But
instead of using macros we should rather have
Flocale.c
---------
static const char *fft_fallback_font = FLOCALE_FFT_FALLBACK_FONT;
...
if (fn != fft_fallback_font)
...
Makes sense. I was using strcasecmp, but that should be faster.
Using strcasecmp is wrong, since that would mean that anyonw entering the
smae font as the fallback would have a memory leak. The test is there to
not try to free string literals.
What compiler are you using?
/Viktor