[Anthy-dev 2873] uim-fepでのcommit_stringの処理

アーカイブの一覧に戻る

Konosuke Watanabe sasug****@gmail*****
2006年 4月 13日 (木) 13:04:46 JST


こんにちは,渡辺(のすけ)です.

trunkのr3281で uim-input-pad-ja から uim-fep に文字入力ができ
ないようだったので,helperからのcommit_stringメッセージに
"charset=" が含まれていない場合の処理を足して対応させてみまし
た.

# uim.elの方はまだ対応できてないわけですが orz

そのままcommitするのは不安だったので,ひとまずとりあえずこち
らに投げさせて頂きます.

---
Konosuke WATANABE <sasug****@gmail*****>

-------------- next part --------------
--- helper.c.org	2006-04-13 05:39:54.000000000 +0900
+++ helper.c	2006-04-13 12:08:38.000000000 +0900
@@ -130,11 +130,13 @@
         char *eol;
         debug(("commit_string\n"));
         if ((eol = strchr(message, '\n')) != NULL) {
-          char *charset = eol + 1;
+          char *charset = NULL;
+          if (str_has_prefix(eol + 1, "charset=")) {
+            charset = eol + 1 + strlen("charset=");
+            eol = strchr(charset, '\n');
+          }
 
-          if (str_has_prefix(charset, "charset=")) {
-            charset += strlen("charset=");
-            if ((eol = strchr(charset, '\n')) != NULL) {
+          if (eol != NULL) {
               char *commit_string = eol + 1;
 
               *eol = '\0';
@@ -142,8 +144,10 @@
                 const char *commit_enc;
 
                 *eol = '\0';
-                if (uim_iconv->is_convertible(commit_enc = get_enc(), charset)) {
-                  void *cd = uim_iconv->create(commit_enc, charset);
+              if (uim_iconv->is_convertible(commit_enc = get_enc(), 
+                                            charset ? charset : "UTF-8")) {
+                void *cd = uim_iconv->create(commit_enc,
+                                             charset ? charset : "UTF-8");
                   commit_string = uim_iconv->convert(cd, commit_string);
                   commit_cb(NULL, commit_string);
                   free(commit_string);
@@ -154,7 +158,6 @@
               }
             }
           }
-        }
 
       } else if (str_has_prefix(message, "focus_in")) {
         debug(("focus_in\n"));


Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る