PATCH: Grand, unified, ANSI-compliant string functions


Subject: PATCH: Grand, unified, ANSI-compliant string functions
From: James Montgomerie (jamie@montgomerie.net)
Date: Mon Feb 07 2000 - 17:44:12 CST


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).




This archive was generated by hypermail 2b25 : Mon Feb 07 2000 - 17:49:31 CST