=================================================================== RCS file: /home/cvs/OpenXM/src/ox_math/mlo.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -p -r1.10 -r1.11 --- OpenXM/src/ox_math/mlo.c 2003/01/11 12:38:57 1.10 +++ OpenXM/src/ox_math/mlo.c 2003/01/13 12:04:53 1.11 @@ -1,5 +1,5 @@ /* -*- mode: C -*- */ -/* $OpenXM: OpenXM/src/ox_math/mlo.c,v 1.9 2000/12/03 21:46:52 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_math/mlo.c,v 1.10 2003/01/11 12:38:57 ohara Exp $ */ /* Copyright (C) Katsuyoshi OHARA, 2000. @@ -24,13 +24,34 @@ int flag_mlo_symbol = FLAG_MLTKSYM_IS_INDETERMINATE; /* MLINK is a indentifier of MathLink connection. */ MLINK stdlink; +mlo *receive_mlo_real() +{ + char *s; + cmo *ob; + /* Yet we have no implementation of CMO_DOUBLE... */ + MLGetString(stdlink, &s); + ox_printf("MLTKREAL(%s)", s); + ob = (cmo *)new_cmo_string(s); + MLDisownString(stdlink, s); + return ob; +} + +mlo *receive_mlo_error() +{ + int errcode = MLError(stdlink); + char *s = MLErrorMessage(stdlink); + MLClearError(stdlink); + ox_printf("MLTKERR(%d,\"%s\")", errcode, s); + return (cmo *)make_error_object(ERROR_ID_FAILURE_MLINK, new_cmo_string(s)); +} + mlo *receive_mlo_zz() { char *s; mlo *m; MLGetString(stdlink, &s); - fprintf(ox_stderr, "--debug: MLO == MLTKINT (%s).\n", s); + ox_printf("MLTKINT(%s)", s); m = (mlo *)new_cmo_zz_set_string(s); MLDisownString(stdlink, s); return m; @@ -41,7 +62,7 @@ mlo *receive_mlo_string() char *s; mlo *m; MLGetString(stdlink, &s); - fprintf(ox_stderr, "--debug: MLO == MLTKSTR (\"%s\").\n", s); + ox_printf("MLTKSTR(\"%s\")", s); m = (cmo *)new_cmo_string(s); MLDisownString(stdlink, s); return m; @@ -55,14 +76,14 @@ cmo *receive_mlo_function() int i,n; MLGetFunction(stdlink, &s, &n); - fprintf(ox_stderr, "--debug: MLO == MLTKFUNC (%s[#%d]).\n", s, n); + ox_printf("MLTKFUNC(%s[#%d])", s, n); m = new_cmo_list(); list_append((cmo_list *)m, new_cmo_string(s)); for (i=0; i