Browse Source

mcp2210: Workaround some Windows snprintf not handling wide strings correctly by simply copying character-per-character (only works for ASCII data)

Luke Dashjr 12 years ago
parent
commit
e89614b00b
1 changed files with 6 additions and 4 deletions
  1. 6 4
      mcp2210.c

+ 6 - 4
mcp2210.c

@@ -140,13 +140,15 @@ void mcp2210_devinfo_free(struct lowlevel_device_info * const info)
 static
 static
 char *wcs2str_dup(wchar_t *ws)
 char *wcs2str_dup(wchar_t *ws)
 {
 {
-	char tmp, *rv;
-	int clen;
+	char *rv;
+	int clen, i;
 	
 	
-	clen = snprintf(&tmp, 1, "%ls", ws);
+	clen = wcslen(ws);
 	++clen;
 	++clen;
 	rv = malloc(clen);
 	rv = malloc(clen);
-	snprintf(rv, clen, "%ls", ws);
+	for (i = 0; i < clen; ++i)
+		rv[i] = ws[i];
+	
 	return rv;
 	return rv;
 }
 }