diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-09-28 07:34:52 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:55 +1000 |
commit | 2f5f6f266e2393a8351790c61de57b7d42f710ab (patch) | |
tree | 27c0111f7673a1ab1598a0fcd82030b8bcbdb96d /jim.c | |
parent | 73b6640e994c4c954d54894a16acd5a151899c3a (diff) | |
download | jimtcl-2f5f6f266e2393a8351790c61de57b7d42f710ab.zip jimtcl-2f5f6f266e2393a8351790c61de57b7d42f710ab.tar.gz jimtcl-2f5f6f266e2393a8351790c61de57b7d42f710ab.tar.bz2 |
Minor cleanups and fixes
array get for odd length list now returns an error
comment fixes and small code rearrangement
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r-- | jim.c | 26 |
1 files changed, 12 insertions, 14 deletions
@@ -4903,11 +4903,6 @@ static void JimSetStackTrace(Jim_Interp *interp, Jim_Obj *stackTraceObj) static void JimAppendStackTrace(Jim_Interp *interp, const char *procname, const char *filename, int linenr) { -#if 0 - printf("JimAppendStackTrace: %s:%d (%s)\n", filename, linenr, procname); -#endif - - /* XXX Omit "unknown" for now since it can be confusing (but it may help too!) */ if (strcmp(procname, "unknown") == 0) { procname = ""; } @@ -7309,20 +7304,23 @@ static int JimExprOpStrBin(Jim_Interp *interp, struct JimExprState *e) Jim_Obj *B = ExprPop(e); Jim_Obj *A = ExprPop(e); - int Alen, Blen; jim_wide wC; - /* XXX: Not needed for IN, NI */ - const char *sA = Jim_GetString(A, &Alen); - const char *sB = Jim_GetString(B, &Blen); - switch (e->opcode) { case JIM_EXPROP_STREQ: - wC = (Alen == Blen && memcmp(sA, sB, Alen) == 0); - break; - case JIM_EXPROP_STRNE: - wC = (Alen != Blen || memcmp(sA, sB, Alen) != 0); + case JIM_EXPROP_STRNE: { + int Alen, Blen; + const char *sA = Jim_GetString(A, &Alen); + const char *sB = Jim_GetString(B, &Blen); + + if (e->opcode == JIM_EXPROP_STREQ) { + wC = (Alen == Blen && memcmp(sA, sB, Alen) == 0); + } + else { + wC = (Alen != Blen || memcmp(sA, sB, Alen) != 0); + } break; + } case JIM_EXPROP_STRIN: wC = JimSearchList(interp, B, A); break; |