Code

fall back to assuming latin1 encoding if mbtowchar conversion fails
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Mon, 13 Jun 2005 12:56:11 +0000 (12:56 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Mon, 13 Jun 2005 12:56:11 +0000 (12:56 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2@637 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/src/rrd_gfx.c

index 44f668b8b70184de4248a0e600ebeefaa5dac94a..478d70cc60dc5375a2e1f84936d052d59b54a6f7 100644 (file)
@@ -386,7 +386,11 @@ gfx_string gfx_string_create(gfx_canvas_t *canvas, FT_Face face,const char *text
   cstr = malloc(sizeof(wchar_t) * clen); /* yes we are allocating probably too much here, I know */
   string->count=mbstowcs(cstr,text,clen);
   if ( string->count == -1){
-       string->count=mbstowcs(cstr,"Enc-Err",6);
+  /* conversion did not work, so lets fall back to just use what we got */
+       string->count=clen-1;
+        for(n=0;text[n] != '\0';n++){
+            cstr[n]=text[n];
+        }
   }
 #else
   char         *cstr = strdup(text);