[q-lang-cvs] q/src qmparse.y,1.74,1.75
Brought to you by:
agraef
From: Albert G. <ag...@us...> - 2007-12-07 22:06:13
|
Update of /cvsroot/q-lang/q/src In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv4351 Modified Files: qmparse.y Log Message: fix unhandled 'External object' exceptions Index: qmparse.y =================================================================== RCS file: /cvsroot/q-lang/q/src/qmparse.y,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** qmparse.y 3 Oct 2007 02:59:36 -0000 1.74 --- qmparse.y 7 Dec 2007 22:06:09 -0000 1.75 *************** *** 3152,3155 **** --- 3152,3156 ---- int sparsex(char *s) { + THREAD *thr = get_thr(); int ret; #ifdef USE_THREADS *************** *** 3157,3160 **** --- 3158,3162 ---- #endif ret = parse(s, NULL, STRING); + if (!ret && thr->qmstat == BAD_OBJ) thr->qmstat = SYNTAX_ERR; #ifdef USE_THREADS pthread_mutex_unlock(&parse_mutex); *************** *** 3179,3182 **** --- 3181,3185 ---- ret = parse(fp, NULL, LINE); #endif + if (!ret && thr->qmstat == BAD_OBJ) thr->qmstat = SYNTAX_ERR; #ifdef USE_THREADS pthread_mutex_unlock(&parse_mutex); *************** *** 3233,3236 **** --- 3236,3240 ---- int parsex(char *s) { + THREAD *thr = get_thr(); int ret; #ifdef USE_THREADS *************** *** 3238,3241 **** --- 3242,3246 ---- #endif ret = parse(s, NULL, INTERACT); + if (!ret && thr->qmstat == BAD_OBJ) thr->qmstat = SYNTAX_ERR; #ifdef USE_THREADS pthread_mutex_unlock(&parse_mutex); |