More formatting changes. Mostly converted some DEBUG() calls to DEBUGADD()
[samba.git] / source3 / lib / charset.c
index 79a82f8587be3296f6546c4530477def2e106b1b..5e9481f9bbf41dcff66f15acd60dc346b53fd678 100644 (file)
@@ -127,9 +127,10 @@ static void add_dos_char(int lower, BOOL map_lower_to_upper,
 {
   lower &= 0xff;
   upper &= 0xff;
-  DEBUG(6,("Adding chars 0x%x 0x%x (l->u = %s) (u->l = %s)\n",lower,upper,
-         map_lower_to_upper ? "True" : "False",
-         map_upper_to_lower ? "True" : "False"));
+  DEBUGADD( 6, ( "Adding chars 0x%x 0x%x (l->u = %s) (u->l = %s)\n",
+                 lower, upper,
+                 map_lower_to_upper ? "True" : "False",
+                 map_upper_to_lower ? "True" : "False" ) );
   if (lower) dos_char_map[lower] = 1;
   if (upper) dos_char_map[upper] = 1;
   lower_char_map[lower] = (char)lower; /* Define tolower(lower) */
@@ -200,10 +201,12 @@ static codepage_p load_client_codepage( int client_codepage )
     return NULL;
   }
 
-  strcpy(codepage_file_name, CODEPAGEDIR);
-  strcat(codepage_file_name, "/");
-  strcat(codepage_file_name, "codepage.");
-  sprintf( &codepage_file_name[strlen(codepage_file_name)], "%03d",
+  pstrcpy(codepage_file_name, CODEPAGEDIR);
+  pstrcat(codepage_file_name, "/");
+  pstrcat(codepage_file_name, "codepage.");
+  slprintf(&codepage_file_name[strlen(codepage_file_name)], 
+          sizeof(pstring)-(strlen(codepage_file_name)+1),
+          "%03d",
            client_codepage);
 
   if(!file_exist(codepage_file_name,&st))
@@ -347,14 +350,21 @@ void codepage_initialise(int client_codepage)
 for code page %d failed. Using default client codepage 932\n", 
              CODEPAGEDIR, client_codepage, client_codepage));
     cp = cp_932;
+    client_codepage = KANJI_CODEPAGE;
 #else /* KANJI */
     DEBUG(6,("codepage_initialise: loading dynamic codepage file %s/codepage.%d \
 for code page %d failed. Using default client codepage 850\n", 
              CODEPAGEDIR, client_codepage, client_codepage));
     cp = cp_850;
+    client_codepage = MSDOS_LATIN_1_CODEPAGE;
 #endif /* KANJI */
   }
 
+  /*
+   * Setup the function pointers for the loaded codepage.
+   */
+  initialize_multibyte_vectors( client_codepage );
+
   if(cp)
   {
     for(i = 0; !((cp[i][0] == '\0') && (cp[i][1] == '\0')); i++)