summaryrefslogtreecommitdiffstats
path: root/generic/tclDecls.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-16 15:12:17 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-16 15:12:17 (GMT)
commit1a6f1d5c40570e83189a91e4301d9e89369ce00e (patch)
treedf299241f124678a6da29c2569239caadb709569 /generic/tclDecls.h
parente0e09638fece9ca63daad3b3675dc7bfb1ede7d3 (diff)
downloadtcl-1a6f1d5c40570e83189a91e4301d9e89369ce00e.zip
tcl-1a6f1d5c40570e83189a91e4301d9e89369ce00e.tar.gz
tcl-1a6f1d5c40570e83189a91e4301d9e89369ce00e.tar.bz2
Add some undocumented stub functions. Those can prevent a crash like [http://paste.tclers.tk/5763|this] example, when compiled with 8.7 headers but running it in Tcl 8.6.
Diffstat (limited to 'generic/tclDecls.h')
-rw-r--r--generic/tclDecls.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 6c109de..551a5b6 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -1835,9 +1835,15 @@ EXTERN void Tcl_ZlibStreamSetCompressionDictionary(
/* Slot 648 is reserved */
/* Slot 649 is reserved */
/* Slot 650 is reserved */
-/* Slot 651 is reserved */
-/* Slot 652 is reserved */
-/* Slot 653 is reserved */
+/* 651 */
+EXTERN char * TclGetStringFromObj_(Tcl_Obj *objPtr,
+ size_t *lengthPtr);
+/* 652 */
+EXTERN unsigned short * TclGetUnicodeFromObj_(Tcl_Obj *objPtr,
+ size_t *lengthPtr);
+/* 653 */
+EXTERN unsigned char * TclGetByteArrayFromObj_(Tcl_Obj *objPtr,
+ size_t *numBytesPtr);
/* Slot 654 is reserved */
/* Slot 655 is reserved */
/* Slot 656 is reserved */
@@ -2559,9 +2565,9 @@ typedef struct TclStubs {
void (*reserved648)(void);
void (*reserved649)(void);
void (*reserved650)(void);
- void (*reserved651)(void);
- void (*reserved652)(void);
- void (*reserved653)(void);
+ char * (*tclGetStringFromObj_) (Tcl_Obj *objPtr, size_t *lengthPtr); /* 651 */
+ unsigned short * (*tclGetUnicodeFromObj_) (Tcl_Obj *objPtr, size_t *lengthPtr); /* 652 */
+ unsigned char * (*tclGetByteArrayFromObj_) (Tcl_Obj *objPtr, size_t *numBytesPtr); /* 653 */
void (*reserved654)(void);
void (*reserved655)(void);
void (*reserved656)(void);
@@ -3908,9 +3914,12 @@ extern const TclStubs *tclStubsPtr;
/* Slot 648 is reserved */
/* Slot 649 is reserved */
/* Slot 650 is reserved */
-/* Slot 651 is reserved */
-/* Slot 652 is reserved */
-/* Slot 653 is reserved */
+#define TclGetStringFromObj_ \
+ (tclStubsPtr->tclGetStringFromObj_) /* 651 */
+#define TclGetUnicodeFromObj_ \
+ (tclStubsPtr->tclGetUnicodeFromObj_) /* 652 */
+#define TclGetByteArrayFromObj_ \
+ (tclStubsPtr->tclGetByteArrayFromObj_) /* 653 */
/* Slot 654 is reserved */
/* Slot 655 is reserved */
/* Slot 656 is reserved */
@@ -3984,6 +3993,9 @@ extern const TclStubs *tclStubsPtr;
#undef Tcl_SeekOld
#undef Tcl_TellOld
+#undef TclGetStringFromObj_
+#undef TclGetUnicodeFromObj_
+#undef TclGetByteArrayFromObj_
#undef Tcl_PkgPresent
#define Tcl_PkgPresent(interp, name, version, exact) \