aboutsummaryrefslogtreecommitdiff
path: root/jim.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-09-28 07:34:52 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:55 +1000
commit2f5f6f266e2393a8351790c61de57b7d42f710ab (patch)
tree27c0111f7673a1ab1598a0fcd82030b8bcbdb96d /jim.c
parent73b6640e994c4c954d54894a16acd5a151899c3a (diff)
downloadjimtcl-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.c26
1 files changed, 12 insertions, 14 deletions
diff --git a/jim.c b/jim.c
index 1058a14..598ac3f 100644
--- a/jim.c
+++ b/jim.c
@@ -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;