Read the first 5 chars, not the all string of LANG.
authorRicardo Cruz <rick2@aeiou.pt>
Fri, 16 Jul 2004 19:15:00 +0000 (19:15 +0000)
committerRicardo Cruz <rick2@aeiou.pt>
Fri, 16 Jul 2004 19:15:00 +0000 (19:15 +0000)
SVN-Revision: 1580

src/lispreader.cpp

index 58913e5..99e7925 100644 (file)
@@ -1221,9 +1221,18 @@ LispReader::read_string (const char* name, std::string& str, bool translatable)
     char* lang = getenv("LANG");
 
     char str_[1024];  // check, for instance, for (title-fr_FR "Bonjour")
-    sprintf(str_, "%s-%s", name, lang);
 
-    obj = search_for (str_);
+    if(lang != NULL && strlen(lang) >= 5)
+      {
+      char lang_[6];
+      strncpy(lang_, lang, 5);
+      lang_[5] = '\0';
+      sprintf(str_, "%s-%s", name, lang_);
+
+      obj = search_for (str_);
+      }
+    else
+      obj = 0;
 
     if(!obj)  // check, for instance, for (title-fr "Bonjour")
       {