summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonal.k.fellows@manchester.ac.uk <dkf>2011-09-27 09:44:56 (GMT)
committerdonal.k.fellows@manchester.ac.uk <dkf>2011-09-27 09:44:56 (GMT)
commitd8c438d2c12de0d849e87cadbf80fd41932fa43a (patch)
treea0d891a9c2690d226a68104914880951973941bd
parent2d33f3998cbe627ae4eb1fecec63df5965ad99ea (diff)
downloadtcl-d8c438d2c12de0d849e87cadbf80fd41932fa43a.zip
tcl-d8c438d2c12de0d849e87cadbf80fd41932fa43a.tar.gz
tcl-d8c438d2c12de0d849e87cadbf80fd41932fa43a.tar.bz2
Unbreak TCL_ARGV_AUTO_REST macro, found during testing.
-rw-r--r--generic/tclIndexObj.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclIndexObj.c b/generic/tclIndexObj.c
index 4e04f71..8651542 100644
--- a/generic/tclIndexObj.c
+++ b/generic/tclIndexObj.c
@@ -1222,7 +1222,14 @@ Tcl_ParseArgsObjv(
objc--;
break;
case TCL_ARGV_REST:
- *((int *) infoPtr->dstPtr) = dstIndex;
+ /*
+ * Only store the point where we got to if it's not to be written
+ * to NULL, so that TCL_ARGV_AUTO_REST works.
+ */
+
+ if (infoPtr->dstPtr != NULL) {
+ *((int *) infoPtr->dstPtr) = dstIndex;
+ }
goto argsDone;
case TCL_ARGV_FLOAT:
if (objc == 0) {