This is an updated patch, inclusive of the previous, that fixes all of these issues except for one. Note that most of these were simply a matter of inserting function prototypes into header files. Also note that I've only adding these prototypes for functions caught by this buildlog filter. There are probably many more functions being used without prototypes - the upstream codebase could really use a cleanup here.
The remaining issue that is not fixed by this patch is this one: Function `EIMIL_get_private' implicitly converted to pointer at testEIMIL.c:126 I tried to fix this by adding a prototype for this function in the corresponding header file - but this leads to an error. testEIMIL.c only passes one argument to this function, but it requires two. I'm not sure what the correct value for the second argument should be, so I've left this unfixed. However, I've attached my patch for reference. -- dann frazier
diff -urpN iiimf-12.3.91-svn2814.orig/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h iiimf-12.3.91-svn2814/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h --- iiimf-12.3.91-svn2814.orig/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h 2005-08-11 22:38:14.000000000 -0600 +++ iiimf-12.3.91-svn2814/iiimxcf/xiiimp.so/iiimp/iiimpSwitcher.h 2007-08-13 14:24:49.000000000 -0600 @@ -45,6 +45,9 @@ Sun Microsystems, Inc. or its licensors #include "iiimpIM.h" +char **my_strsplit (const char *string, + const char *single_delimiter); + Bool im_switcher_active (XimCommon im); Bool im_switcher_new (XimCommon im); void im_switcher_shutdown (XimCommon im); diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_info.h --- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_info.h 2005-04-26 22:08:10.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_info.h 2007-08-13 14:24:49.000000000 -0600 @@ -46,4 +46,6 @@ typedef struct { MConverter *converter; } LeInfoRec; +LeInfoRec *le_info_new(); + #endif /* _LE_INFO_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_interface.c --- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_interface.c 2005-04-18 08:21:22.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_interface.c 2007-08-13 14:24:49.000000000 -0600 @@ -2,6 +2,7 @@ #include "le_object.h" #include "le_info.h" +#include "le_session.h" Bool if_le_OpenIF(iml_if_t *); Bool if_le_CloseIF(iml_if_t *); diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_object.h --- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_object.h 2005-03-07 23:17:13.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_object.h 2007-08-13 14:24:49.000000000 -0600 @@ -17,4 +17,6 @@ typedef struct _LeObjectRec { } LeObjectRec; +LeObjectRec *le_object_new(); + #endif /* _LE_OBJECT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_session.h --- iiimf-12.3.91-svn2814.orig/leif/m17n_le/src/leif/le_session.h 2005-04-26 22:08:10.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/m17n_le/src/leif/le_session.h 2007-08-13 14:24:49.000000000 -0600 @@ -16,4 +16,6 @@ typedef struct _LeSessionContextRec { } LeSessionContextRec; +IMText *le_session_reset(iml_session_t * s); + #endif /* _LE_SESSION_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/newpy/xaux/gifalloc.c iiimf-12.3.91-svn2814/leif/newpy/xaux/gifalloc.c --- iiimf-12.3.91-svn2814.orig/leif/newpy/xaux/gifalloc.c 2002-10-31 17:15:38.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/newpy/xaux/gifalloc.c 2007-08-13 14:24:49.000000000 -0600 @@ -10,6 +10,7 @@ * 15 Sep 92 - Version 1.0 by Eric Raymond. * *****************************************************************************/ #include <stdio.h> +#include <stdlib.h> #include "gif_lib.h" #define MAX(x, y) (((x) > (y)) ? (x) : (y)) diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/include/imbean.h iiimf-12.3.91-svn2814/leif/sch_le_sun/include/imbean.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/include/imbean.h 2005-04-28 06:33:45.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/include/imbean.h 2007-08-13 14:24:49.000000000 -0600 @@ -67,4 +67,7 @@ typedef struct _IbmlData { IbmlCategoryPtr *categories; } IbmlData; +IbmlData *imbean_config_new_from_file(char *file_name); +IbmlData *imbean_config_new_from_memory(char *buffer, int size); + #endif /* _IBML_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c 2005-05-17 08:01:50.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c 2007-08-13 14:24:49.000000000 -0600 @@ -8,6 +8,7 @@ #include "gtkiiimwin.h" #include "gtkflatbutton.h" #include "imlabel.h" +#include "support.h" #define MAX_CANDIDATE_COUNT 32 #define MAX_LABELSTRING_LEN (8*1024) diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c 2005-06-27 21:16:37.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c 2007-08-13 14:24:49.000000000 -0600 @@ -2,6 +2,7 @@ #include "palette_pixmap.h" #include "palette_messages.h" #include "palette_aux.h" +#include "palette_menu.h" enum { BUTTON_STATE_NORMAL = 0, diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h 2005-06-27 21:16:37.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h 2007-08-13 14:24:49.000000000 -0600 @@ -134,4 +134,9 @@ typedef struct _palette_session_t { char *ime_uuid; } palette_session_t; +palette_window_t *palette_window_new(); +palette_button_t *palette_window_get_button_from_pos(palette_window_t *palette_window, int x, int y); +vkb_layout_t *palette_window_get_current_ime_vkb_layout(palette_window_t *palette_window); +vkb_layout_t **palette_window_get_vkb_layout_list(palette_window_t *palette_window); + #endif /* _PALETTE_AUX_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h 1969-12-31 17:00:00.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h 2007-08-13 14:24:49.000000000 -0600 @@ -0,0 +1,18 @@ +#ifndef _PALETTE_MENU_H_ +#define _PALETTE_MENU_H_ + +#include <stdio.h> +#include <gdk/gdkx.h> +#include <gtk/gtk.h> +#include <signal.h> +#include <wait.h> + +#include "palette_messages.h" +#include "palette_aux.h" +#include "vkb_aux.h" + +GtkWidget *palette_window_create_utility_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_update_utility_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_create_vkb_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_update_vkb_list_menu(palette_window_t *palette_window); +#endif diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h 2005-06-27 21:16:37.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_data.h 2007-08-13 14:24:49.000000000 -0600 @@ -62,4 +62,6 @@ enum { PROPERTY_DATA_FOR_ALL }; +property_data_t *property_data_new(); + #endif /* _PROPERTY_DATA_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h 2005-02-28 03:10:03.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/property_window.h 2007-08-13 14:24:49.000000000 -0600 @@ -50,4 +50,6 @@ typedef struct _property_window_t { } property_window_t; +property_window_t *property_window_new_with_property_data(property_data_t *property_data); + #endif /* _PROPERTY_WINDOW_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h 2007-08-13 14:24:49.000000000 -0600 @@ -56,4 +56,6 @@ typedef struct _vkb_session_t { int status_capslockkey:2; } vkb_session_t; +vkb_window_t *vkb_window_new(); + #endif /* _VKB_AUX_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h 2007-08-13 14:24:49.000000000 -0600 @@ -114,4 +114,8 @@ typedef struct _vkb_layout_t { vkb_ctrlkey_label_t ctrlkey[MAX_CTRLKEY_NUM]; } vkb_layout_t; +vkb_layout_t *vkb_layout_new(); +vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name); +vkb_layout_t *vkb_layout_new_for_pc_keyboard(); + #endif /* _VKB_LAYOUT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c 2007-08-13 14:24:49.000000000 -0600 @@ -43,6 +43,7 @@ Sun Microsystems, Inc. or its licensors /* txt2bin.c */ #include <stdio.h> +#include <stdlib.h> #include "codetable.h" #include "ctfile.h" diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/ime_module.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/ime_module.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/ime_module.h 2005-02-01 22:09:24.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/ime_module.h 2007-08-13 14:24:49.000000000 -0600 @@ -50,4 +50,7 @@ typedef struct _ImeModuleContextRec { } ImeModuleContextRec; +ImeModuleRec *ime_module_new(); +ImeModuleContextRec *ime_module_context_new(); + #endif /* _IME_MODULE_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_desktop.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_desktop.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_desktop.h 2005-03-15 02:55:42.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_desktop.h 2007-08-13 14:24:49.000000000 -0600 @@ -38,4 +38,9 @@ typedef struct _LeDesktopContextRec { } LeDesktopContextRec; +LeDesktopContextRec *le_desktop_context_new(); +iml_session_t *le_desktop_context_get_current_session(LeDesktopContextRec * + le_desktop_context); +char *le_desktop_profile_write_to_memory(LeDesktopContextRec * dc); + #endif /* _LE_DESKTOP_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_info.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_info.h 2005-04-14 04:36:58.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_info.h 2007-08-13 14:24:49.000000000 -0600 @@ -76,4 +76,6 @@ typedef struct { } LeInfoRec; +LeInfoRec *le_info_new(); + #endif /* _LE_INFO_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_interface.c --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_interface.c 2005-08-15 03:15:00.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_interface.c 2007-08-13 14:24:49.000000000 -0600 @@ -3,6 +3,7 @@ #include "le_object.h" #include "le_info.h" +#include "le_session.h" Bool if_le_OpenIF(iml_if_t *); Bool if_le_CloseIF(iml_if_t *); diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keybinding.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keybinding.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keybinding.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keybinding.h 2007-08-13 14:24:49.000000000 -0600 @@ -18,4 +18,6 @@ typedef struct { ImmKeyType defined_type; } ImmKeybindingRec; +ImmKeybindingRec *imm_keybinding_new(); + #endif /* _LE_KEYBINDING_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keyevent.c iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keyevent.c --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_keyevent.c 2005-02-21 04:11:10.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_keyevent.c 2007-08-13 14:24:49.000000000 -0600 @@ -15,6 +15,9 @@ int le_session_process_key_event_for_ime int le_session_process_key_event_for_ime_manager(iml_session_t * s, IMKeyEventStruct * key_event); +char *get_qj_str(char ch); +char *get_punct_str(char ch); + /* process the keyboard event */ LeResult le_session_process_key_event(iml_session_t * s, IMKeyListEvent * keylistevent) diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_object.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_object.h 2005-03-08 04:15:58.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_object.h 2007-08-13 14:24:49.000000000 -0600 @@ -17,4 +17,6 @@ typedef struct _LeObjectRec { } LeObjectRec; +LeObjectRec *le_object_new(); + #endif /* _LE_OBJECT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_session.h --- iiimf-12.3.91-svn2814.orig/leif/sch_le_sun/src/leif/le_session.h 2005-02-01 22:09:24.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sch_le_sun/src/leif/le_session.h 2007-08-13 14:24:49.000000000 -0600 @@ -47,4 +47,16 @@ typedef struct _LeSessionContextRec { //TImePCAuxOption *pc_aux_options; //preedit_candidates aux options } LeSessionContextRec; +LeSessionContextRec *le_session_context_new(); +IMText *le_session_reset(iml_session_t * s); +TImePCAuxOption* +session_get_pc_style(LeSessionContextRec* le_session_context); +LeDesktopContextRec *le_session_get_desktop_context(iml_session_t * s); +LeSessionContextRec *le_session_get_session_context(iml_session_t * s); +ImeModuleRec *le_session_get_ime_module_by_uuid(iml_session_t * s, + char *uuid); +ImeModuleRec *le_session_get_current_ime_module(iml_session_t * s); +ImePropertyListRec *le_session_get_current_ime_module_property_list( + iml_session_t * s); +ImeModuleRec *le_session_get_next_ime_module(iml_session_t * s); #endif /* _LE_SESSION_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/palette_method.c iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/palette_method.c --- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/palette_method.c 2005-03-24 03:37:42.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/palette_method.c 2007-08-13 14:24:49.000000000 -0600 @@ -23,6 +23,7 @@ #endif #include <stdio.h> +#include <stdlib.h> #include <gdk/gdk.h> #include <gtk/gtk.h> #include <gdk/gdkx.h> diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_aux.h iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_aux.h --- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_aux.h 2005-03-24 03:37:42.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_aux.h 2007-08-13 14:24:49.000000000 -0600 @@ -59,4 +59,6 @@ typedef struct _vkb_session_t { int status_capslockkey:2; } vkb_session_t; +vkb_window_t *vkb_window_new(); + #endif /* _VKB_AUX_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_layout.h iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_layout.h --- iiimf-12.3.91-svn2814.orig/leif/sun_le_korea/auxwin_gtk/vkb_layout.h 2005-03-24 03:37:42.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/sun_le_korea/auxwin_gtk/vkb_layout.h 2007-08-13 14:24:49.000000000 -0600 @@ -114,4 +114,7 @@ typedef struct _vkb_layout_t { vkb_ctrlkey_label_t ctrlkey[MAX_CTRLKEY_NUM]; } vkb_layout_t; +static vkb_layout_t *vkb_layout_new(); +vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name); + #endif /* _VKB_LAYOUT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/include/imbean.h iiimf-12.3.91-svn2814/leif/tch_le_sun/include/imbean.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/include/imbean.h 2005-04-28 03:29:20.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/include/imbean.h 2007-08-13 14:24:49.000000000 -0600 @@ -67,4 +67,7 @@ typedef struct _IbmlData { IbmlCategoryPtr *categories; } IbmlData; +IbmlData *imbean_config_new_from_file(char *file_name); +IbmlData *imbean_config_new_from_memory(char *buffer, int size); + #endif /* _IBML_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c 2005-05-17 08:01:50.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/gtkiiimwin.c 2007-08-13 14:24:49.000000000 -0600 @@ -8,6 +8,7 @@ #include "gtkiiimwin.h" #include "gtkflatbutton.h" #include "imlabel.h" +#include "support.h" #define MAX_CANDIDATE_COUNT 32 #define MAX_LABELSTRING_LEN (8*1024) diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c 2005-06-27 21:10:59.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.c 2007-08-13 14:24:49.000000000 -0600 @@ -2,6 +2,7 @@ #include "palette_pixmap.h" #include "palette_messages.h" #include "palette_aux.h" +#include "palette_menu.h" enum { BUTTON_STATE_NORMAL = 0, diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h 2005-06-27 21:10:59.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_aux.h 2007-08-13 14:24:49.000000000 -0600 @@ -134,4 +134,9 @@ typedef struct _palette_session_t { char *ime_uuid; } palette_session_t; +palette_window_t *palette_window_new(); +palette_button_t *palette_window_get_button_from_pos(palette_window_t *palette_window, int x, int y); +vkb_layout_t *palette_window_get_current_ime_vkb_layout(palette_window_t *palette_window); +vkb_layout_t **palette_window_get_vkb_layout_list(palette_window_t *palette_window); + #endif /* _PALETTE_AUX_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h 1969-12-31 17:00:00.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/palette_menu.h 2007-08-13 14:24:49.000000000 -0600 @@ -0,0 +1,18 @@ +#ifndef _PALETTE_MENU_H_ +#define _PALETTE_MENU_H_ + +#include <stdio.h> +#include <gdk/gdkx.h> +#include <gtk/gtk.h> +#include <signal.h> +#include <wait.h> + +#include "palette_messages.h" +#include "palette_aux.h" +#include "vkb_aux.h" + +GtkWidget *palette_window_create_utility_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_update_utility_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_create_vkb_list_menu(palette_window_t *palette_window); +GtkWidget *palette_window_update_vkb_list_menu(palette_window_t *palette_window); +#endif diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h 2005-06-27 21:10:59.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_data.h 2007-08-13 14:24:49.000000000 -0600 @@ -62,4 +62,6 @@ enum { PROPERTY_DATA_FOR_ALL }; +property_data_t *property_data_new(); + #endif /* _PROPERTY_DATA_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h 2005-02-28 03:08:47.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/property_window.h 2007-08-13 14:24:49.000000000 -0600 @@ -50,4 +50,6 @@ typedef struct _property_window_t { } property_window_t; +property_window_t *property_window_new_with_property_data(property_data_t *property_data); + #endif /* _PROPERTY_WINDOW_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_aux.h 2007-08-13 14:24:49.000000000 -0600 @@ -56,4 +56,6 @@ typedef struct _vkb_session_t { int status_capslockkey:2; } vkb_session_t; +vkb_window_t *vkb_window_new(); + #endif /* _VKB_AUX_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/auxiliary_windows/gtk2/vkb_layout.h 2007-08-13 14:24:49.000000000 -0600 @@ -114,4 +114,8 @@ typedef struct _vkb_layout_t { vkb_ctrlkey_label_t ctrlkey[MAX_CTRLKEY_NUM]; } vkb_layout_t; +vkb_layout_t *vkb_layout_new(); +vkb_layout_t **vkb_layout_list_read_from_layout_file(char *layout_file_name); +vkb_layout_t *vkb_layout_new_for_pc_keyboard(); + #endif /* _VKB_LAYOUT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/codetable_im/utils/txt2bin.c 2007-08-13 14:24:49.000000000 -0600 @@ -43,6 +43,7 @@ Sun Microsystems, Inc. or its licensors /* txt2bin.c */ #include <stdio.h> +#include <stdlib.h> #include "codetable.h" #include "ctfile.h" diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/input_methods/zhuyin/zhuyin_standard.h 2007-08-13 14:24:49.000000000 -0600 @@ -54,4 +54,7 @@ enum { ZHUYIN_TYPE_NUM, }; +unsigned char *ZhuyinKeyToZhuyinSymbol(char key); +unsigned char *ZhuyinIndexToZhuyinSymbol(int idx); + #endif /* _ZHUYIN_STANDARD_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/ime_module.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/ime_module.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/ime_module.h 2005-02-01 22:44:49.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/ime_module.h 2007-08-13 14:24:49.000000000 -0600 @@ -50,4 +50,7 @@ typedef struct _ImeModuleContextRec { } ImeModuleContextRec; +ImeModuleRec *ime_module_new(); +ImeModuleContextRec *ime_module_context_new(); + #endif /* _IME_MODULE_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_desktop.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_desktop.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_desktop.h 2005-03-15 02:53:32.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_desktop.h 2007-08-13 14:24:49.000000000 -0600 @@ -38,4 +38,9 @@ typedef struct _LeDesktopContextRec { } LeDesktopContextRec; +LeDesktopContextRec *le_desktop_context_new(); +iml_session_t *le_desktop_context_get_current_session(LeDesktopContextRec * + le_desktop_context); +char *le_desktop_profile_write_to_memory(LeDesktopContextRec * dc); + #endif /* _LE_DESKTOP_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_info.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_info.h 2005-04-14 04:34:33.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_info.h 2007-08-13 14:24:49.000000000 -0600 @@ -76,4 +76,6 @@ typedef struct { } LeInfoRec; +LeInfoRec *le_info_new(); + #endif /* _LE_INFO_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_interface.c --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_interface.c 2005-08-15 03:15:00.000000000 -0600 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_interface.c 2007-08-13 14:24:49.000000000 -0600 @@ -3,6 +3,7 @@ #include "le_object.h" #include "le_info.h" +#include "le_session.h" Bool if_le_OpenIF(iml_if_t *); Bool if_le_CloseIF(iml_if_t *); diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keybinding.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keybinding.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keybinding.h 2005-01-19 19:04:02.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keybinding.h 2007-08-13 14:24:49.000000000 -0600 @@ -18,4 +18,6 @@ typedef struct { ImmKeyType defined_type; } ImmKeybindingRec; +ImmKeybindingRec *imm_keybinding_new(); + #endif /* _LE_KEYBINDING_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keyevent.c iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keyevent.c --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_keyevent.c 2005-02-21 04:13:44.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_keyevent.c 2007-08-13 14:24:49.000000000 -0600 @@ -15,6 +15,9 @@ int le_session_process_key_event_for_ime int le_session_process_key_event_for_ime_manager(iml_session_t * s, IMKeyEventStruct * key_event); +char *get_qj_str(char ch); +char *get_punct_str(char ch); + /* process the keyboard event */ LeResult le_session_process_key_event(iml_session_t * s, IMKeyListEvent * keylistevent) diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_object.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_object.h 2005-03-08 04:14:22.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_object.h 2007-08-13 14:24:49.000000000 -0600 @@ -17,4 +17,6 @@ typedef struct _LeObjectRec { } LeObjectRec; +LeObjectRec *le_object_new(); + #endif /* _LE_OBJECT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_session.h --- iiimf-12.3.91-svn2814.orig/leif/tch_le_sun/src/leif/le_session.h 2005-02-01 22:44:49.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/tch_le_sun/src/leif/le_session.h 2007-08-13 14:24:49.000000000 -0600 @@ -47,4 +47,16 @@ typedef struct _LeSessionContextRec { //TImePCAuxOption *pc_aux_options; //preedit_candidates aux options } LeSessionContextRec; +LeSessionContextRec *le_session_context_new(); +IMText *le_session_reset(iml_session_t * s); +TImePCAuxOption* +session_get_pc_style(LeSessionContextRec* le_session_context); +LeDesktopContextRec *le_session_get_desktop_context(iml_session_t * s); +LeSessionContextRec *le_session_get_session_context(iml_session_t * s); +ImeModuleRec *le_session_get_ime_module_by_uuid(iml_session_t * s, + char *uuid); +ImeModuleRec *le_session_get_current_ime_module(iml_session_t * s); +ImePropertyListRec *le_session_get_current_ime_module_property_list( + iml_session_t * s); +ImeModuleRec *le_session_get_next_ime_module(iml_session_t * s); #endif /* _LE_SESSION_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_info.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_info.h --- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_info.h 2005-03-04 04:03:48.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_info.h 2007-08-13 14:24:49.000000000 -0600 @@ -28,4 +28,6 @@ typedef struct { } LeInfoRec; +LeInfoRec *le_info_new(); + #endif /* _LE_INFO_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_interface.c iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_interface.c --- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_interface.c 2005-03-04 04:03:48.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_interface.c 2007-08-13 14:24:49.000000000 -0600 @@ -2,6 +2,7 @@ #include "le_object.h" #include "le_info.h" +#include "le_session.h" Bool if_le_OpenIF(iml_if_t *); Bool if_le_CloseIF(iml_if_t *); diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_object.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_object.h --- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_object.h 2005-03-06 19:30:11.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_object.h 2007-08-13 14:24:49.000000000 -0600 @@ -17,4 +17,6 @@ typedef struct _LeObjectRec { } LeObjectRec; +LeObjectRec *le_object_new(); + #endif /* _LE_OBJECT_H_ */ diff -urpN iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_session.h iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_session.h --- iiimf-12.3.91-svn2814.orig/leif/thai_le_sun/src/leif/le_session.h 2005-03-04 04:03:48.000000000 -0700 +++ iiimf-12.3.91-svn2814/leif/thai_le_sun/src/leif/le_session.h 2007-08-13 14:24:49.000000000 -0600 @@ -14,4 +14,6 @@ typedef struct _LeSessionContextRec { } LeSessionContextRec; +IMText *le_session_reset(iml_session_t * s); + #endif /* _LE_SESSION_H_ */
--- iiimf-12.3.91-svn2814/include/EIMIL.h~ 2004-08-02 08:38:00.000000000 -0600 +++ iiimf-12.3.91-svn2814/include/EIMIL.h 2007-08-13 14:18:01.000000000 -0600 @@ -523,6 +523,11 @@ } \ } while(0) +void* +EIMIL_get_private( + EIMIL_handle eh, + void* private +); #endif /* not _EIMIL_H_ */