aboutsummaryrefslogtreecommitdiff
path: root/dw
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2011-11-11 04:26:41 +0000
committercorvid <corvid@lavabit.com>2011-11-11 04:26:41 +0000
commit980fe05f47b9d6dd8626b5ea021e2c16807ff5ca (patch)
tree2e5670d74d8fcfb8e7f6b84ffaf5f77b74855746 /dw
parent119aa95ed6bc612dd4ef7a3121d9bf220148aaa4 (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.cc2
-rw-r--r--dw/style.cc6
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);
}