commit e44c0627aa34d7cba57ea9a11929bab4ae91c901
parent 7e50917ae3ec46cb3a90f8257589f77858c9d35a
Author: sqweek <sqweek@gmail.com>
Date: Thu, 27 Dec 2007 23:29:49 +0900
Use nl_langinfo(3) instead of the unportable "" to specify the default character set for iconv_open(3). Thanks to Alex Plotnick for the patch.
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/cmd/wmii/utf.c b/cmd/wmii/utf.c
@@ -2,6 +2,7 @@
#include "dat.h"
#include <errno.h>
#include <iconv.h>
+#include <langinfo.h>
#include <string.h>
#include "fns.h"
@@ -11,8 +12,11 @@ toutf8n(char *str, size_t nstr) {
char *buf, *pos;
size_t nbuf, bsize;
- if(cd == nil)
- cd = iconv_open("UTF-8", "");
+ if(cd == nil) {
+ cd = iconv_open("UTF-8", nl_langinfo(CODESET));
+ if(cd == (iconv_t)-1)
+ fatal("Can't convert from native codeset to UTF-8");
+ }
iconv(cd, nil, nil, nil, nil);
bsize = nstr * 1.25 + 4;