aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez>2005-03-16 13:11:35 +0000
committerantirez <antirez>2005-03-16 13:11:35 +0000
commit3f8f28e1cf0e81d4c6b9362677253a429098f4fc (patch)
treebbcdd0e0ec3ecec83752a66fd8612cbb71de5630
parent6d6e22c0a0022c292023e2eeb88d1237f5761603 (diff)
downloadjimtcl-3f8f28e1cf0e81d4c6b9362677253a429098f4fc.zip
jimtcl-3f8f28e1cf0e81d4c6b9362677253a429098f4fc.tar.gz
jimtcl-3f8f28e1cf0e81d4c6b9362677253a429098f4fc.tar.bz2
more GC fixes.
-rw-r--r--ChangeLog5
-rw-r--r--jim.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 49f7ec3..ab6bbce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-16 13:55 antirez
+
+ * ChangeLog, jim.c: Fixed a bug introduced in the Gargage
+ Collection code some commit ago.
+
2005-03-15 22:58 antirez
* ChangeLog, Makefile: clean target of Makefile now deletes .xo
diff --git a/jim.c b/jim.c
index 5808121..f75587d 100644
--- a/jim.c
+++ b/jim.c
@@ -1,7 +1,7 @@
/* Jim - A small embeddable Tcl interpreter
* Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
*
- * $Id: jim.c,v 1.108 2005/03/16 12:55:37 antirez Exp $
+ * $Id: jim.c,v 1.109 2005/03/16 13:11:35 antirez Exp $
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -3818,16 +3818,16 @@ int Jim_Collect(Jim_Interp *interp)
jim_wide id;
char buf[21];
- if ((p = strstr(p, "<reference:")) == NULL)
+ if ((p = strstr(p, "<reference.<")) == NULL)
break;
/* Check if it's a valid reference. */
if (len-(p-str) < JIM_REFERENCE_SPACE) break;
- if (p[31] != ':') break;
- for (i = 11; i < 30; i++)
+ if (p[41] != '>' || p[19] != '>' || p[20] != '.') break;
+ for (i = 21; i <= 40; i++)
if (!isdigit((int)p[i]))
break;
/* Get the ID */
- memcpy(buf, p+11, 20);
+ memcpy(buf, p+21, 20);
buf[20] = '\0';
Jim_StringToWide(buf, &id, 10);