Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by Huulivoide ( 15 years ago )
-hb_language_from_string (const char *str)
+hb_language_from_string (const char *str, int len)
 {
-  if (!str || !*str)
+  if (!str || !len || !*str)
     return HB_LANGUAGE_INVALID;
 
+  char strbuf[32];
+  if (len >= 0) {
+    len = MIN (len, (int) sizeof (strbuf) - 1);
+    str = (char *) memcpy (strbuf, str, len);
+    strbuf[len] = '�';
+  }
+
   hb_language_item_t *item = langs.find_or_insert (str, langs.lock);
 
   return likely (item) ? item->lang : HB_LANGUAGE_INVALID;
@@ -197,7 +206,7 @@ hb_language_get_default (void)
     /* I hear that setlocale() doesn't honor env vars on Windows,
      * but for now we ignore that. */
 
-    default_language = hb_language_from_string (setlocale (LC_CTYPE, NULL));
+    default_language = hb_language_from_string (setlocale (LC_CTYPE, NULL), -1);
   }

 

Revise this Paste

Your Name: Code Language: