Author: yamakenz
Date: Sat Aug 11 14:58:57 2007
New Revision: 4835
Modified:
trunk/uim/uim-sh.c
Log:
* uim/uim-sh.c
- (struct uim_sh_args, uim_sh): Removed
- (main): Merge uim_sh() and simplify
Modified: trunk/uim/uim-sh.c
==============================================================================
--- trunk/uim/uim-sh.c (original)
+++ trunk/uim/uim-sh.c Sat Aug 11 14:58:57 2007
@@ -39,39 +39,23 @@
#include "uim-scm.h"
-struct uim_sh_args {
- int argc;
- char **argv;
-};
-static void *uim_sh(struct uim_sh_args *c_args);
-
int
main(int argc, char *argv[])
{
- struct uim_sh_args c_args;
+ uim_lisp args;
/* TODO: be able to suppress ordinary initialization process */
uim_init();
- c_args.argc = argc;
- c_args.argv = argv;
- uim_scm_call_with_gc_ready_stack((uim_gc_gate_func_ptr)uim_sh, &c_args);
-
- uim_quit();
-
- return EXIT_SUCCESS;
-}
-
-static void *
-uim_sh(struct uim_sh_args *c_args)
-{
- uim_lisp args;
-
uim_scm_require_file("uim-sh.scm");
- args = uim_scm_array2list((void **)c_args->argv, c_args->argc,
+ args = uim_scm_null();
+ uim_scm_gc_protect(&args);
+ args = uim_scm_array2list((void **)argv, argc,
(uim_lisp (*)(void *))uim_scm_make_str);
uim_scm_callf("uim-sh", "o", args);
- return NULL;
+ uim_quit();
+
+ return EXIT_SUCCESS;
}