[BACK]Return to main.cpp CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_ntl

Diff for /OpenXM/src/ox_ntl/main.cpp between version 1.2 and 1.3

version 1.2, 2003/11/08 12:34:00 version 1.3, 2003/11/15 09:06:20
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/ox_ntl/main.cpp,v 1.1 2003/11/03 03:11:21 iwane Exp $ */  /* $OpenXM: OpenXM/src/ox_ntl/main.cpp,v 1.2 2003/11/08 12:34:00 iwane Exp $ */
   
 #include "ox_toolkit.h"  #include "ox_toolkit.h"
 #include "oxserv.h"  #include "oxserv.h"
Line 14  void dprintf(const char *, ...);
Line 14  void dprintf(const char *, ...);
 }  }
 #endif  #endif
   
   
 static void  static void
 ntl_executeFunction(const char *func, cmo **arg, int argc)  ntl_executeFunction(const char *func, cmo **arg, int argc)
 {  {
         cmo *ans;          cmo *ans;
         if (strcmp(func, "fctr") == 0) {          int i;
                 ans = ntl_fctr(arg, argc);  
                 oxstack_push(ans);          struct {
                 return ;                  const char *name;
                   cmo *(*func)(cmo **, int);
           } funcs[] = {
                   {"fctr", ntl_fctr},
                   {"lll", ntl_lll},
                   {NULL, NULL},
           };
   
           for (i = 0; funcs[i].name != NULL; i++) {
                   if (strcmp(func, funcs[i].name) == 0) {
                           ans = funcs[i].func(arg, argc);
                           oxstack_push(ans);
                           return ;
                   }
         }          }
   
         oxstack_push((cmo *)new_cmo_error2((cmo *)new_cmo_string("Unknown Function")));          oxstack_push((cmo *)new_cmo_error2((cmo *)new_cmo_string("Unknown Function")));
Line 33  int
Line 47  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
         int fd = 3;          int fd = 3;
         int i;  
         int ret;          int ret;
   
         OXFILE *oxfp;          OXFILE *oxfp;
Line 43  main(int argc, char *argv[])
Line 56  main(int argc, char *argv[])
         ox_stderr_init(stderr);          ox_stderr_init(stderr);
   
         oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, ntl_executeFunction, NULL);          oxserv_set(OXSERV_SET_EXECUTE_FUNCTION, ntl_executeFunction, NULL);
           oxserv_set(OXSERV_SET_DELETE_CMO, delete_cmon, NULL);
           oxserv_set(OXSERV_SET_GET_CMOTAG, get_cmon_tag, NULL);
           oxserv_set(OXSERV_SET_CONVERT_CMO, convert_cmon, NULL);
         oxserv_init(oxfp, VERSION, ID_STRING, "ox_ntl", NULL, NULL);          oxserv_init(oxfp, VERSION, ID_STRING, "ox_ntl", NULL, NULL);
   
         for (i = 0;; i++) {          ret = oxserv_receive(oxfp);
                 ret = oxserv_receive(oxfp);  
                 if (ret != OXSERV_SUCCESS)  
                         break;  
         }  
   
         oxserv_dest();          oxserv_dest();
         oxf_close(oxfp);          oxf_close(oxfp);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>