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.

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, dominik.vogt (at) gmx.de

Attachment: signature.asc
Description: Digital signature

Reply via email to