On 8/28/07, Viktor Griph <[EMAIL PROTECTED]> wrote: > 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.
I see. But on the other hand, it wasn't comparing pointers, it was comparing a pointer with a string literal.. > What compiler are you using? gcc-4.2.0 Renato
