=================================================================== RCS file: /home/cvs/OpenXM/src/ox_math/Attic/serv2.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM/src/ox_math/Attic/serv2.c 1999/10/29 08:06:41 1.1 +++ OpenXM/src/ox_math/Attic/serv2.c 1999/11/03 10:56:40 1.3 @@ -1,6 +1,5 @@ /* -*- mode: C; coding: euc-japan -*- */ -/* $OpenXM$ */ -/* $Id: serv2.c,v 1.1 1999/10/29 08:06:41 ohara Exp $ */ +/* $OpenXM: OpenXM/src/ox_math/serv2.c,v 1.2 1999/11/02 06:11:58 ohara Exp $ */ /* Open Mathematica サーバ */ /* ファイルディスクリプタ 3, 4 は open されていると仮定して動作する. */ @@ -95,7 +94,7 @@ cmo *MATH_getObject2() break; case MLTKERR: fprintf(stderr, "type is ERROR.\n"); - m = gen_error_object(MATH_ERROR); + m = (cmo *)gen_error_object(MATH_ERROR); break; case MLTKSYM: fprintf(stderr, "MLTKSYM.\n"); @@ -115,7 +114,7 @@ cmo *MATH_getObject2() fprintf(stderr, "%s "); } fprintf(stderr, "\n"); - m = (cmo *)new_cmo_string(s[0]); + m = (cmo *)new_cmo_string(s); break; case MLTKREAL: fprintf(stderr, "MLTKREAL is not supported: we use MLTKSTR.\n"); @@ -144,7 +143,7 @@ int MATH_sendObject(cmo *m) break; default: MLPutFunction(lp, "ToExpression", 1); - s = CONVERT_CMO_TO_CSTRING(m); + s = convert_cmo_to_string(m); MLPutString(lp, s); fprintf(stderr, "put %s.", s); break; @@ -196,17 +195,14 @@ int push(cmo* m) } } -/* エラーのときは NULL を返す */ -/* gen_error_object(SM_popCMO); */ -/* CMO_ERROR2 */ - +/* スタックが空のときは, (CMO_NULL) をかえす. */ cmo* pop() { if (Stack_Pointer > 0) { Stack_Pointer--; return Operand_Stack[Stack_Pointer]; } - return NULL; + return new_cmo_null(); } void pops(int n) @@ -217,7 +213,6 @@ void pops(int n) } } - /* sm_XXX 関数群は、エラーのときは 0 以外の値を返し、呼び出し元で エラーオブジェクトをセットする */ int sm_popCMO(int fd_write) @@ -252,8 +247,8 @@ int sm_popString(int fd_write) fprintf(stderr, "code: SM_popString.\n"); #endif - if ((m = pop()) != NULL && (s = CONVERT_CMO_TO_CSTRING(m)) != NULL) { - send_ox_cmo(fd_write, new_cmo_string(s)); + if ((m = pop()) != NULL && (s = convert_cmo_to_string(m)) != NULL) { + send_ox_cmo(fd_write, (cmo *)new_cmo_string(s)); return 0; } return SM_popString; @@ -343,7 +338,7 @@ int execute_sm_command(int fd_write, int code) case SM_executeFunction: err = sm_executeFunction(fd_write); break; - case SM_setMathcap: + case SM_setMathCap: pop(); /* 無視する */ break; default: @@ -352,6 +347,6 @@ int execute_sm_command(int fd_write, int code) } if (err != 0) { - push(gen_error_object(err)); + push((cmo *)gen_error_object(err)); } }