File tree 1 file changed +5
-3
lines changed
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -73,7 +73,7 @@ typedef struct {
73
73
#define NEXT_ENTRY (table , offset ) \
74
74
(&(STRING_AT(table, offset)))
75
75
#define EXPAND_OF (indexRep ) \
76
- STRING_AT((indexRep)->tablePtr, (indexRep)->offset*(indexRep)->index)
76
+ (((indexRep)->index >= 0) ? STRING_AT((indexRep)->tablePtr, (indexRep)->offset*(indexRep)->index) : "" )
77
77
78
78
/*
79
79
*----------------------------------------------------------------------
@@ -280,7 +280,9 @@ Tcl_GetIndexFromObjStruct(
280
280
281
281
if (objPtr && (objPtr -> typePtr == & indexType )) {
282
282
indexRep = objPtr -> internalRep .twoPtrValue .ptr1 ;
283
- if (indexRep -> tablePtr == tablePtr && indexRep -> offset == offset ) {
283
+ if ((indexRep -> tablePtr == tablePtr )
284
+ && (indexRep -> offset == offset )
285
+ && (indexRep -> index >= 0 )) {
284
286
* indexPtr = indexRep -> index ;
285
287
return TCL_OK ;
286
288
}
@@ -339,7 +341,7 @@ Tcl_GetIndexFromObjStruct(
339
341
* operation.
340
342
*/
341
343
342
- if (objPtr ) {
344
+ if (objPtr && ( index >= 0 ) ) {
343
345
if (objPtr -> typePtr == & indexType ) {
344
346
indexRep = objPtr -> internalRep .twoPtrValue .ptr1 ;
345
347
} else {
You can’t perform that action at this time.
0 commit comments