Author: yamakenz
Date: Fri Aug 10 20:21:24 2007
New Revision: 4820

Modified:
   trunk/doc/COMPATIBILITY
   trunk/uim/uim-scm.c
   trunk/uim/uim-scm.h

Log:
* uim/uim-scm.h
  - (uim_scm_eof, uim_scm_array2list, uim_scm_null_term_array2list,
    uim_scm_list2null_term_array): New function decl
* uim/uim-scm.c
  - (uim_scm_eof, uim_scm_array2list, uim_scm_null_term_array2list,
    uim_scm_list2null_term_array): New function
  - (struct array2list_args, struct list2array_args): New type
  - (uim_scm_array2list_internal,
    uim_scm_null_term_array2list_internal,
    uim_scm_list2null_term_array_internal): New static function
* doc/COMPATIBILITY
  - Update


Modified: trunk/doc/COMPATIBILITY
==============================================================================
--- trunk/doc/COMPATIBILITY     (original)
+++ trunk/doc/COMPATIBILITY     Fri Aug 10 20:21:24 2007
@@ -57,6 +57,26 @@
 
 The changes are described below in most recently updated order.
 ------------------------------------------------------------------------------
+Summary: Bit width extension of uim_scm_c_bool() and uim_scm_make_bool()
+Affects: uim developers
+Updates: C API
+Version: 1.5.0
+Revision: ac4820
+Date: 2007-08-11
+Modifier: YamaKen
+Related: uim-scm API reorganization in uim 1.5.0
+         uim_scm_array2list()
+         uim_scm_null_term_array2list()
+         uim_scm_list2null_term_array()
+URL:
+Changes:
+  (changed) uim_scm_c_bool()
+  (changed) uim_scm_make_bool()
+Description:
+  To make passing these 2 functions to the array<->list conversion
+  functions directly, the C side of bool representation is changed
+  from int to long. This change is required for 64-bit platforms.
+------------------------------------------------------------------------------
 Summary: Exception-based libuim error handling
 Affects: uim developers
 Updates: internal C API
@@ -368,6 +388,7 @@
 Date: 2007-01-09 -
 Modifier: YamaKen
 Related: SigScheme introduction to uim
+        Bit width extension of uim_scm_c_bool() and uim_scm_make_bool()
 URL:
 Changes:
       (new) uim_scm_is_initialized()

Modified: trunk/uim/uim-scm.c
==============================================================================
--- trunk/uim/uim-scm.c (original)
+++ trunk/uim/uim-scm.c Fri Aug 10 20:21:24 2007
@@ -172,16 +172,18 @@
   SCM_ENSURE(cond);
 }
 
-uim_bool
+/* can be passed to uim_scm_list2null_term_array() */
+long
 uim_scm_c_bool(uim_lisp val)
 {
   assert(uim_scm_gc_any_contextp());
 
-  return UIM_SCM_NFALSEP(val);
+  return (UIM_SCM_NFALSEP(val)) ? UIM_TRUE : UIM_FALSE;
 }
 
+/* can be passed to uim_scm_array2list() */
 uim_lisp
-uim_scm_make_bool(uim_bool val)
+uim_scm_make_bool(long val)
 {
   assert(uim_scm_gc_any_contextp());
 

Modified: trunk/uim/uim-scm.h
==============================================================================
--- trunk/uim/uim-scm.h (original)
+++ trunk/uim/uim-scm.h Fri Aug 10 20:21:24 2007
@@ -125,10 +125,8 @@
                                   const char *proc, const char *args_fmt, ...);
 
 /* type conversions */
-uim_bool
-uim_scm_c_bool(uim_lisp val);
-uim_lisp
-uim_scm_make_bool(uim_bool val);
+long uim_scm_c_bool(uim_lisp val);
+uim_lisp uim_scm_make_bool(long val);
 
 long uim_scm_c_int(uim_lisp integer);
 uim_lisp uim_scm_make_int(long integer);

Reply via email to