As Sam mentioned in "Release Practices", I've been working on patches to
eliminate non-ANSI string functions from the source tree (even the
xp-parts). To this end, this patch contains updates to and new parts added
to the ut_string files:
UT_strdup(..) like strdup, but uses only ANSI features (strdup is not ANSI)
UT_stricmp(..) like strcmp, but case insensitive. (srticmp is Microsoft,
strcasecmp appears to be gnu)
UT_strnicmp(..) (surprise surprise) like strncmp, but case insensitive.
(srtnicmp is Microsoft, strncasecmp appears to be GNU)
[See the notes in the new ut_string.h file for the behaviour of these
case-insensitive functions for characters between ASCII z and A (the
behaviour is the same as the Microsoft and GNU functions mentioned above).]
UT_strcmp() has been eliminated. All it contained was a call to the [ANSI]
strcmp(..) function, and no-one on the list came up with a good reason to
keep it. If people want it back, I can replace it very quickly.
The patch also patches the entire tree (including, as I mentioned, all the
platform specific stuff) to use the new functions. I don't think it should
break anything (it still builds perfectly for me under BeOS), but with such
a wide-ranging patch, I have no guarantees, I'm afraid. If it does, I'll
buy donuts if anyone wants to meet me in a bakery or coffee shop in
Edinburgh :-).
I don't know what the preferred patch format is for AbiWord, if it's
different to the one I've used a mail to me can swiftly rectify it :-)
Jamie.
P.S. the choice of UT_stricmp over UT_strcasecmp isn't meant to represent my
views on MS over GNU (the functions names were already in the source, but
the functions were defined in the platform specific parts).
ansistrings.patch