On 8/28/07, Dominik Vogt <[EMAIL PROTECTED]> wrote:
> On Tue, Aug 28, 2007 at 02:55:26PM +0100, seventh guardian wrote:
> > On 8/28/07, seventh guardian <[EMAIL PROTECTED]> 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.
> >
> > Hum but now gcc complains about the const char * vs. char *:
> >
> > (...)
> > cc1: warnings being treated as errors
> > Flocale.c: In function 'FlocaleGetFftFont':
> > Flocale.c:1079: warning: assignment discards qualifiers from pointer target 
> > type
>
> I guess we have to remove the "const" then.  That's better than
> casting it away every time.

Too late, I've already casted them ;)

I guess it's better to leave it a const, as it could allow the
compiler to optimize it. But I can change it back and remove the
const.. What do you think?

Cheers,
  Renato

Reply via email to