From: blub Date: Sat, 26 Dec 2009 13:42:27 +0000 (+0000) Subject: set the unicode value to 0 if no value exists, also changing u8_fromchar to not retur... X-Git-Tag: xonotic-v0.1.0preview~950 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=2f6f5958dbf32ea6a77347544e28ea2cc8239bcd;p=xonotic%2Fdarkplaces.git set the unicode value to 0 if no value exists, also changing u8_fromchar to not return values < 0 but just 0 - it's easier to use that way git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9698 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/utf8lib.c b/utf8lib.c index 3e1d62fa..c1e5a810 100644 --- a/utf8lib.c +++ b/utf8lib.c @@ -486,10 +486,10 @@ Uchar u8_getnchar(const char *_s, const char **_end, size_t _maxlen) int u8_fromchar(Uchar w, char *to, size_t maxlen) { if (maxlen < 1) - return -2; + return 0; if (!w) - return -5; + return 0; if (w >= 0xE000 && !utf8_enable.integer) w -= 0xE000; @@ -544,7 +544,7 @@ int u8_fromchar(Uchar w, char *to, size_t maxlen) to[0] = 0xE0 | w; return 4; } - return -1; + return 0; } /** uses u8_fromchar on a static buffer @@ -602,10 +602,13 @@ size_t u8_wcstombs(char *mb, const Uchar *wcs, size_t maxlen) return 0; for (i = 0; wcs[i] && i < maxlen-1; ++i) { + /* int len; if ( (len = u8_fromchar(wcs[i], mb, maxlen - i)) < 0) return (mb - start); mb += len; + */ + mb += u8_fromchar(wcs[i], mb, maxlen - i); } *mb = 0; return (mb - start); diff --git a/vid_glx.c b/vid_glx.c index e51daa15..0ed0c38b 100644 --- a/vid_glx.c +++ b/vid_glx.c @@ -154,6 +154,7 @@ void DP_Xutf8LookupString(XKeyEvent * ev, *status_return = XLookupKeySym; *keysym_return = keysym; } + *uch = 0; return; }