Author: yamakenz
Date: Mon Aug 27 21:24:38 2007
New Revision: 4915

Modified:
   trunk/uim/intl.c
   trunk/uim/uim-func.c
   trunk/uim/uim-key.c
   trunk/uim/uim-util.c

Log:
* uim/uim-util.c
  - (c_getenv, c_setenv, c_unsetenv, string_prefixp_internal):
    Simplify
  - (file_stat_mode, file_mtime, string_contains):
    * Ditto
    * Add error handling

* uim/uim-func.c
  - (im_convertiblep, im_update_prop_list): Simplify
  - (uim_init_im_subrs): Cosmetic change

* uim/uim-key.c
  - (define_valid_key_symbols): Cosmetic change

* uim/intl.c
  - (intl_bind_textdomain_codeset, intl_dcgettext, intl_ngettext,
    intl_dngettext, intl_dcngettext): Cosmetic change


Modified: trunk/uim/intl.c
==============================================================================
--- trunk/uim/intl.c    (original)
+++ trunk/uim/intl.c    Mon Aug 27 21:24:38 2007
@@ -99,8 +99,8 @@
     return uim_scm_f();
 
   c_codeset = (FALSEP(codeset)) ? NULL : REFER_C_STR(codeset);
-  c_current_codeset = bind_textdomain_codeset(REFER_C_STR(domainname),
-                                             c_codeset);
+  c_current_codeset
+    = bind_textdomain_codeset(REFER_C_STR(domainname), c_codeset);
   if (c_current_codeset) {
     current_codeset = MAKE_STR(c_current_codeset);
   } else {
@@ -134,35 +134,35 @@
 intl_dcgettext(uim_lisp domainname, uim_lisp msgid, uim_lisp category)
 {
   return MAKE_STR(dcgettext(REFER_C_STR(domainname),
-                                   REFER_C_STR(msgid),
-                                   C_INT(category)));
+                           REFER_C_STR(msgid),
+                           C_INT(category)));
 }
 
 static uim_lisp
 intl_ngettext(uim_lisp msgid1, uim_lisp msgid2, uim_lisp n)
 {
   return MAKE_STR(ngettext(REFER_C_STR(msgid1),
-                                  REFER_C_STR(msgid2),
-                                  C_INT(n)));
+                          REFER_C_STR(msgid2),
+                          C_INT(n)));
 }
 
 static uim_lisp
 intl_dngettext(uim_lisp domainname, uim_lisp msgid1, uim_lisp msgid2, uim_lisp 
n)
 {
   return MAKE_STR(dngettext(REFER_C_STR(domainname),
-                                   REFER_C_STR(msgid1),
-                                   REFER_C_STR(msgid2),
-                                   C_INT(n)));
+                           REFER_C_STR(msgid1),
+                           REFER_C_STR(msgid2),
+                           C_INT(n)));
 }
 
 static uim_lisp
 intl_dcngettext(uim_lisp domainname, uim_lisp msgid1, uim_lisp msgid2, 
uim_lisp n, uim_lisp category)
 {
   return MAKE_STR(dcngettext(REFER_C_STR(domainname),
-                                    REFER_C_STR(msgid1),
-                                    REFER_C_STR(msgid2),
-                                    C_INT(n),
-                                    C_INT(category)));
+                            REFER_C_STR(msgid1),
+                            REFER_C_STR(msgid2),
+                            C_INT(n),
+                            C_INT(category)));
 }
 
 static void

Modified: trunk/uim/uim-func.c
==============================================================================
--- trunk/uim/uim-func.c        (original)
+++ trunk/uim/uim-func.c        Mon Aug 27 21:24:38 2007
@@ -75,15 +75,17 @@
 }
 
 static uim_lisp
-im_convertiblep(uim_lisp id, uim_lisp im_encoding_)
+im_convertiblep(uim_lisp uc_, uim_lisp im_encoding_)
 {
   uim_context uc;
   const char *im_encoding;
+  uim_bool convertiblep;
 
-  uc = retrieve_uim_context(id);
+  uc = retrieve_uim_context(uc_);
   im_encoding = REFER_C_STR(im_encoding_);
-  return MAKE_BOOL(uc->conv_if->is_convertible(uc->client_encoding,
-                                               im_encoding));
+  convertiblep = uc->conv_if->is_convertible(uc->client_encoding, im_encoding);
+
+  return MAKE_BOOL(convertiblep);
 }
 
 static uim_lisp
@@ -234,8 +236,7 @@
   uc = retrieve_uim_context(uc_);
   prop = REFER_C_STR(prop_);
   
-  if (uc->propstr)
-    free(uc->propstr);
+  free(uc->propstr);
   uc->propstr = uc->conv_if->convert(uc->outbound_conv, prop);
 
   if (uc->prop_list_update_cb)
@@ -437,29 +438,31 @@
   uim_scm_init_proc1("im-retrieve-context", im_retrieve_context);
   uim_scm_init_proc2("im-set-encoding",     im_set_encoding);
   uim_scm_init_proc2("im-convertible?",     im_convertiblep);
-  /**/
+
   uim_scm_init_proc2("im-commit",           im_commit);
-  /**/
   uim_scm_init_proc1("im-clear-preedit",    im_clear_preedit);
   uim_scm_init_proc3("im-pushback-preedit", im_pushback_preedit);
   uim_scm_init_proc1("im-update-preedit",   im_update_preedit);
-  /**/
+
+  uim_scm_init_proc3("im-activate-candidate-selector",
+                    im_activate_candidate_selector);
+  uim_scm_init_proc2("im-select-candidate", im_select_candidate);
+  uim_scm_init_proc2("im-shift-page-candidate", im_shift_page_candidate);
+  uim_scm_init_proc1("im-deactivate-candidate-selector",
+                    im_deactivate_candidate_selector);
+
+  uim_scm_init_proc5("im-acquire-text-internal", im_acquire_text);
+  uim_scm_init_proc5("im-delete-text-internal", im_delete_text);
+
   uim_scm_init_proc1("im-clear-mode-list",    im_clear_mode_list);
   uim_scm_init_proc2("im-pushback-mode-list", im_pushback_mode_list);
   uim_scm_init_proc1("im-update-mode-list",   im_update_mode_list);
   uim_scm_init_proc2("im-update-mode",        im_update_mode);
-  /**/
+
   uim_scm_init_proc2("im-update-prop-list", im_update_prop_list);
-  /**/
-  uim_scm_init_proc3("im-activate-candidate-selector", 
im_activate_candidate_selector);
-  uim_scm_init_proc2("im-select-candidate", im_select_candidate);
-  uim_scm_init_proc2("im-shift-page-candidate", im_shift_page_candidate);
-  uim_scm_init_proc1("im-deactivate-candidate-selector", 
im_deactivate_candidate_selector);
-  /**/
-  uim_scm_init_proc5("im-acquire-text-internal", im_acquire_text);
-  uim_scm_init_proc5("im-delete-text-internal", im_delete_text);
-  /**/
-  uim_scm_init_proc1("im-raise-configuration-change", 
raise_configuration_change);
+
+  uim_scm_init_proc1("im-raise-configuration-change",
+                    raise_configuration_change);
   uim_scm_init_proc2("im-switch-app-global-im", switch_app_global_im);
   uim_scm_init_proc2("im-switch-system-global-im", switch_system_global_im);
 }

Modified: trunk/uim/uim-key.c
==============================================================================
--- trunk/uim/uim-key.c (original)
+++ trunk/uim/uim-key.c Mon Aug 27 21:24:38 2007
@@ -312,12 +312,11 @@
 
   valid_key_symbols = uim_scm_null();
   for (i = 0; key_tab[i].key; i++) {
-    valid_key_symbols = CONS(MAKE_SYM(key_tab[i].str),
-                                     valid_key_symbols);
+    valid_key_symbols = CONS(MAKE_SYM(key_tab[i].str), valid_key_symbols);
   }
   uim_scm_eval(LIST3(MAKE_SYM("define"),
-                             MAKE_SYM("valid-key-symbols"),
-                             QUOTE(valid_key_symbols)));
+                    MAKE_SYM("valid-key-symbols"),
+                    QUOTE(valid_key_symbols)));
 }
 
 static const char *

Modified: trunk/uim/uim-util.c
==============================================================================
--- trunk/uim/uim-util.c        (original)
+++ trunk/uim/uim-util.c        Mon Aug 27 21:24:38 2007
@@ -82,17 +82,13 @@
 file_stat_mode(uim_lisp filename, mode_t mode)
 {
   struct stat st;
-  const char *c_filename;
+  int err;
 
-  if (!STRP(filename))
-    return uim_scm_f();
+  err = stat(REFER_C_STR(filename), &st);
+  if (err)
+    ERROR_OBJ("stat failed for file", filename);
 
-  c_filename = REFER_C_STR(filename);
-  if (stat(c_filename, &st) < 0) {
-    return uim_scm_f();
-  } else {
-    return ((st.st_mode & mode) == mode) ? uim_scm_t() : uim_scm_f();
-  }
+  return MAKE_BOOL((st.st_mode & mode) == mode);
 }
 
 static uim_lisp
@@ -126,61 +122,45 @@
 }
 
 static uim_lisp
-file_mtime(uim_lisp f)
+file_mtime(uim_lisp filename)
 {
-  const char *filename = REFER_C_STR(f);
-  struct stat buf;
+  struct stat st;
+  int err;
 
-  if(stat(filename, &buf) == 0) {
-    return MAKE_INT(buf.st_mtime);
-  } else {
-    /* FIXME: Write error handling code. */
-    return MAKE_INT(0);
-  }
+  err = stat(REFER_C_STR(filename), &st);
+  if (err)
+    ERROR_OBJ("stat failed for file", filename);
+
+  return MAKE_INT(st.st_mtime);
 }
 
 static uim_lisp
-c_getenv(uim_lisp str_)
+c_getenv(uim_lisp str)
 {
-  const char *str = REFER_C_STR(str_);
   char *val;
 
-  if (!str) {
-    return uim_scm_f();
-  }
+  ENSURE_TYPE(str, str);
+
+  val = getenv(REFER_C_STR(str));
 
-  val = getenv(str);
-  if (val) {
-    return MAKE_STR(val);
-  } else {
-    return uim_scm_f();
-  }
+  return (val) ? MAKE_STR(val) : uim_scm_f();
 }
 
 static uim_lisp
-c_setenv(uim_lisp name_, uim_lisp val_, uim_lisp overwrite_)
+c_setenv(uim_lisp name, uim_lisp val, uim_lisp overwrite)
 {
-  const char *name = REFER_C_STR(name_);
-  const char *val = REFER_C_STR(val_);
-  int overwrite = TRUEP(overwrite_);
   int err;
 
-  if (!name || !val) {
-    return uim_scm_f();
-  }
-  err = setenv(name, val, overwrite);
-  return (err) ? uim_scm_f() : uim_scm_t();
+  err = setenv(REFER_C_STR(name), REFER_C_STR(val), TRUEP(overwrite));
+
+  return MAKE_BOOL(!err);
 }
 
 static uim_lisp
-c_unsetenv(uim_lisp name_)
+c_unsetenv(uim_lisp name)
 {
-  const char *name = REFER_C_STR(name_);
+  unsetenv(REFER_C_STR(name));
 
-  if (!name) {
-    return uim_scm_f();
-  }
-  unsetenv(name);
   return uim_scm_t();
 }
 
@@ -190,19 +170,16 @@
 string_contains(uim_lisp s1_, uim_lisp s2_, uim_lisp start1_)
 {
   const char *s1, *s2, *found;
-  int start1;
+  long start1;
   size_t s1len;
 
-  if (!STRP(s1_) || !STRP(s2_))
-    return uim_scm_f();  /* FIXME: ERROR() */
-
   s1 = REFER_C_STR(s1_);
   s2 = REFER_C_STR(s2_);
   start1 = C_INT(start1_);
   s1len = strlen(s1);
 
   if (start1 < 0 || s1len < (size_t)start1)
-    return uim_scm_f();  /* FIXME: ERROR() */
+    ERROR("string-contains: invalid range");
 
   found = strstr(&s1[start1], s2);
 
@@ -216,14 +193,11 @@
   const char *prefix, *str;
   size_t len;
 
-  if (!STRP(prefix_) || !STRP(str_))
-    return uim_scm_f();
-
   prefix = REFER_C_STR(prefix_);
   str = REFER_C_STR(str_);
   len = strlen(prefix);
 
-  return (*cmp)(prefix, str, len) ? uim_scm_f() : uim_scm_t();
+  return MAKE_BOOL((*cmp)(prefix, str, len) == 0);
 }
 
 static uim_lisp

Reply via email to