Am Sonntag, 23. April 2006 11:21 schrieb Werner Schweer: > On Sunday 23 April 2006 10:43, Klaus Schmidinger wrote: > > Anssi Hannula wrote: > > > Klaus Schmidinger wrote: > > >>Reinhard Nissl wrote: > > >>>I've got a report of a similar warning in vdr-xine. I suggest this > > >>>solution: > > >>> > > >>>esyslog("ERROR: can't allocate %ld bytes for index '%s'", (long)(size > > >>>* sizeof(tIndex)), fileName); > > >> > > >>To be honest, I don't like this. > > >>Shouldn't this work on both 32- and 64bit systems without the need of > > >>typecasting? > > > > > > The return type of sizeof() is size_t. The size of size_t is > > > implementation-defined. With GCC that's unsigned int on ix86 and > > > unsigned long on x86_64. > > > > Does this mean that one would have to use different conversion > > specifiers on 32- and 64bit systems? Sounds like a compiler bug > > to me, because the source code should compile corretcly on both > > systems... > > "man fprintf" says there is a special "z" length modifier for size_t > arguments, so "...%zd..." should do the trick "...%zd..." can be used, no compile error on a 64bit only system and 32bit system. Gerald > > /Werner > > > _______________________________________________ > vdr mailing list > vdr@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr