diff options
author | corvid <corvid@lavabit.com> | 2011-11-11 04:26:41 +0000 |
---|---|---|
committer | corvid <corvid@lavabit.com> | 2011-11-11 04:26:41 +0000 |
commit | 980fe05f47b9d6dd8626b5ea021e2c16807ff5ca (patch) | |
tree | 2e5670d74d8fcfb8e7f6b84ffaf5f77b74855746 /dw | |
parent | 119aa95ed6bc612dd4ef7a3121d9bf220148aaa4 (diff) |
locale-independent ASCII character case handling
Basically, I and i are different letters in Turkic languages, and this
causes problems for str(n)casecmp and toupper/tolower in these locales
when dillo is dealing with ASCII.
Diffstat (limited to 'dw')
-rw-r--r-- | dw/fltkplatform.cc | 2 | ||||
-rw-r--r-- | dw/style.cc | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/dw/fltkplatform.cc b/dw/fltkplatform.cc index 5c69a4ec..099c449c 100644 --- a/dw/fltkplatform.cc +++ b/dw/fltkplatform.cc @@ -141,7 +141,7 @@ FltkFont::~FltkFont () static void strstrip(char *big, const char *little) { if (strlen(big) >= strlen(little) && - strcasecmp(big + strlen(big) - strlen(little), little) == 0) + misc::AsciiStrcasecmp(big + strlen(big) - strlen(little), little) == 0) *(big + strlen(big) - strlen(little)) = '\0'; } diff --git a/dw/style.cc b/dw/style.cc index 4a37801e..a2240a9e 100644 --- a/dw/style.cc +++ b/dw/style.cc @@ -889,10 +889,10 @@ static const char *const roman_I2[] = { "","C","CC","CCC","CD","D","DC","DCC","DCCC","CM" }, *const roman_I3[] = { "","M","MM","MMM","MMMM" }; -static void strtolower (char *s) +static void strAsciiTolower (char *s) { for ( ; *s; s++) - *s = tolower (*s); + *s = misc::AsciiTolower (*s); } /** @@ -947,7 +947,7 @@ void numtostr (int num, char *buf, int buflen, ListStyleType listStyleType) buf[buflen - 1] = '\0'; if (low) - strtolower(buf); + strAsciiTolower(buf); } |