Re: [PATCH] - Fix a compiler warning on OSX
On Nov 22, 2007 1:09 PM, Arfrever Frehtes Taifersar Arahesis
> 2007-11-20 20:12:38 Karl Fogel napisał(a):
> > "Mark Phippard" <email@example.com> writes:
> > > I noticed this in my output. I report it only because a similar
> > > warning in the mergeinfo.c code was fixed last week, therefore I
> > > assume people think it is a good idea to fix these.
> > >
> > > subversion/libsvn_subr/xml.c: In function 'svn_xml_parse':
> > > subversion/libsvn_subr/xml.c:402: warning: format '%d' expects type
> > > 'int', but argument 5 has type 'XML_Size'
> > >
> > > Changing the format specifier to %ld makes the warning go away. I
> > > imagine an XML file is not likely to have a line number that is bigger
> > > than the size of int, and I was not sure if there are some
> > > platform-specific size differences, so I did not just blindly commit
> > > it. Also, according to blame it looks like the code has been around a
> > > while.
> > >
> > > I have attached a patch with log message. If this is something we
> > > should fix then let me know and I can commit it.
> > What version of expat do you have? I have 1.95.8; you can look in
> > /usr/include/expat.h for this:
> > #define XML_MAJOR_VERSION 1
> > #define XML_MINOR_VERSION 95
> > #define XML_MICRO_VERSION 8
> > Also in expat.h, I see this:
> > XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);
> I have in /usr/include/expat.h:
> #define XML_MAJOR_VERSION 2
> #define XML_MINOR_VERSION 0
> #define XML_MICRO_VERSION 1
> XMLPARSEAPI(XML_Size) XML_GetCurrentLineNumber(XML_Parser parser);
Yeah, so expat 2 returns XML_Size (which is roughly some sort of
long), whereas expat 1 returns int.
We could use some preprocessor trickery involving XML_MAJOR_VERSION to
calculate the proper format string.
David Glasser | glasser_at_davidglasser.net | http://www.davidglasser.net/
Received on Thu Nov 22 20:15:07 2007
This is an archived mail posted to the Subversion Dev