summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-06-15 11:46:40 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-06-15 11:46:40 (GMT)
commit5b8c04a70a776616bda6c47500f65e46cf926941 (patch)
tree402dece90869057a7c316cb375457061d497aad5
parent213f13690302c86b48ec73d1a0f91387056f40fa (diff)
downloadtcl-5b8c04a70a776616bda6c47500f65e46cf926941.zip
tcl-5b8c04a70a776616bda6c47500f65e46cf926941.tar.gz
tcl-5b8c04a70a776616bda6c47500f65e46cf926941.tar.bz2
Remove the Tcl_GetByteArrayFromObj/TclGetByteArrayFromObj stub entries: Those are macro's now.
-rw-r--r--generic/tcl.decls12
-rw-r--r--generic/tclBinary.c37
-rw-r--r--generic/tclDecls.h14
-rw-r--r--generic/tclStubInit.c20
4 files changed, 29 insertions, 54 deletions
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 7e625d4..26f0975 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -144,8 +144,9 @@ declare 32 {
int Tcl_GetBooleanFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
int *intPtr)
}
+# Only available in Tcl 8.x, NULL in Tcl 9.0
declare 33 {
- unsigned char *TclGetByteArrayFromObj(Tcl_Obj *objPtr, int *lengthPtr)
+ unsigned char *TclGetByteArrayFromObj(Tcl_Obj *objPtr, int *numBytesPtr)
}
declare 34 {
int Tcl_GetDouble(Tcl_Interp *interp, const char *src, double *doublePtr)
@@ -312,10 +313,10 @@ declare 79 {
declare 80 {
void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc, void *clientData)
}
-# Removed in 9.0:
-#declare 81 {
-# int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
-#}
+# Only available in Tcl 8.x, NULL in Tcl 9.0
+declare 81 {
+ int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan)
+}
declare 82 {
int Tcl_CommandComplete(const char *cmd)
}
@@ -2480,6 +2481,7 @@ declare 651 {
declare 652 {
Tcl_UniChar *Tcl_GetUnicodeFromObj(Tcl_Obj *objPtr, size_t *lengthPtr)
}
+# Only available in Tcl 8.x, NULL in Tcl 9.0
declare 653 {
unsigned char *Tcl_GetByteArrayFromObj(Tcl_Obj *objPtr, size_t *numBytesPtr)
}
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index a45e4b2..90efc9f 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -408,43 +408,6 @@ TclGetBytesFromObj(
/*
*----------------------------------------------------------------------
*
- * Tcl_GetByteArrayFromObj --
- *
- * Attempt to get the array of bytes from the Tcl object. If the object
- * is not already a ByteArray object, an attempt will be made to convert
- * it to one.
- *
- * Results:
- * Pointer to array of bytes representing the ByteArray object.
- *
- * Side effects:
- * Frees old internal rep. Allocates memory for new internal rep.
- *
- *----------------------------------------------------------------------
- */
-
-#undef Tcl_GetByteArrayFromObj
-unsigned char *
-TclGetByteArrayFromObj(
- Tcl_Obj *objPtr, /* The ByteArray object. */
- int *numBytesPtr) /* If non-NULL, write the number of bytes
- * in the array here */
-{
- return TclGetBytesFromObj(NULL, objPtr, numBytesPtr);
-}
-
-unsigned char *
-Tcl_GetByteArrayFromObj(
- Tcl_Obj *objPtr, /* The ByteArray object. */
- size_t *numBytesPtr) /* If non-NULL, write the number of bytes
- * in the array here */
-{
- return Tcl_GetBytesFromObj(NULL, objPtr, numBytesPtr);
-}
-
-/*
- *----------------------------------------------------------------------
- *
* Tcl_SetByteArrayLength --
*
* This procedure changes the length of the byte array for this object.
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 677b1dd..a0fee3e 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -135,7 +135,7 @@ EXTERN int Tcl_GetBooleanFromObj(Tcl_Interp *interp,
Tcl_Obj *objPtr, int *intPtr);
/* 33 */
EXTERN unsigned char * TclGetByteArrayFromObj(Tcl_Obj *objPtr,
- int *lengthPtr);
+ int *numBytesPtr);
/* 34 */
EXTERN int Tcl_GetDouble(Tcl_Interp *interp, const char *src,
double *doublePtr);
@@ -244,7 +244,8 @@ EXTERN void Tcl_CallWhenDeleted(Tcl_Interp *interp,
/* 80 */
EXTERN void Tcl_CancelIdleCall(Tcl_IdleProc *idleProc,
void *clientData);
-/* Slot 81 is reserved */
+/* 81 */
+EXTERN int Tcl_Close(Tcl_Interp *interp, Tcl_Channel chan);
/* 82 */
EXTERN int Tcl_CommandComplete(const char *cmd);
/* 83 */
@@ -1851,7 +1852,7 @@ typedef struct TclStubs {
void (*tclFreeObj) (Tcl_Obj *objPtr); /* 30 */
int (*tcl_GetBoolean) (Tcl_Interp *interp, const char *src, int *intPtr); /* 31 */
int (*tcl_GetBooleanFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int *intPtr); /* 32 */
- unsigned char * (*tclGetByteArrayFromObj) (Tcl_Obj *objPtr, int *lengthPtr); /* 33 */
+ unsigned char * (*tclGetByteArrayFromObj) (Tcl_Obj *objPtr, int *numBytesPtr); /* 33 */
int (*tcl_GetDouble) (Tcl_Interp *interp, const char *src, double *doublePtr); /* 34 */
int (*tcl_GetDoubleFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, double *doublePtr); /* 35 */
void (*reserved36)(void);
@@ -1899,7 +1900,7 @@ typedef struct TclStubs {
int (*tcl_BadChannelOption) (Tcl_Interp *interp, const char *optionName, const char *optionList); /* 78 */
void (*tcl_CallWhenDeleted) (Tcl_Interp *interp, Tcl_InterpDeleteProc *proc, void *clientData); /* 79 */
void (*tcl_CancelIdleCall) (Tcl_IdleProc *idleProc, void *clientData); /* 80 */
- void (*reserved81)(void);
+ int (*tcl_Close) (Tcl_Interp *interp, Tcl_Channel chan); /* 81 */
int (*tcl_CommandComplete) (const char *cmd); /* 82 */
char * (*tcl_Concat) (size_t argc, const char *const *argv); /* 83 */
size_t (*tcl_ConvertElement) (const char *src, char *dst, int flags); /* 84 */
@@ -2655,7 +2656,8 @@ extern const TclStubs *tclStubsPtr;
(tclStubsPtr->tcl_CallWhenDeleted) /* 79 */
#define Tcl_CancelIdleCall \
(tclStubsPtr->tcl_CancelIdleCall) /* 80 */
-/* Slot 81 is reserved */
+#define Tcl_Close \
+ (tclStubsPtr->tcl_Close) /* 81 */
#define Tcl_CommandComplete \
(tclStubsPtr->tcl_CommandComplete) /* 82 */
#define Tcl_Concat \
@@ -3937,6 +3939,7 @@ extern const TclStubs *tclStubsPtr;
#undef Tcl_GetIndexFromObjStruct
#undef Tcl_GetStringFromObj
#undef Tcl_GetUnicodeFromObj
+#undef TclGetByteArrayFromObj
#undef Tcl_GetByteArrayFromObj
#undef Tcl_GetBytesFromObj
#if defined(USE_TCL_STUBS)
@@ -4151,6 +4154,7 @@ extern const TclStubs *tclStubsPtr;
# endif
#endif
+#undef Tcl_Close
#define Tcl_Close(interp, chan) Tcl_CloseEx(interp, chan, 0)
#undef TclUtfCharComplete
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index f41321f..0bbf756 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -71,6 +71,12 @@
#undef Tcl_WinConvertError
#define Tcl_WinConvertError 0
#endif
+#undef Tcl_Close
+#define Tcl_Close 0
+#undef TclGetByteArrayFromObj
+#define TclGetByteArrayFromObj 0
+#undef Tcl_GetByteArrayFromObj
+#define Tcl_GetByteArrayFromObj 0
#if TCL_UTF_MAX < 4
@@ -93,7 +99,7 @@ int TclListObjGetElements(Tcl_Interp *interp, Tcl_Obj *listPtr,
size_t n = TCL_INDEX_NONE;
int result = Tcl_ListObjGetElements(interp, listPtr, &n, objvPtr);
if (objcPtr) {
- if ((result == TCL_OK) && (n > INT_MAX)) {
+ if ((sizeof(int) != sizeof(size_t)) && (result == TCL_OK) && (n > INT_MAX)) {
if (interp) {
Tcl_AppendResult(interp, "List too large to be processed", NULL);
}
@@ -108,7 +114,7 @@ int TclListObjLength(Tcl_Interp *interp, Tcl_Obj *listPtr,
size_t n = TCL_INDEX_NONE;
int result = Tcl_ListObjLength(interp, listPtr, &n);
if (lengthPtr) {
- if ((result == TCL_OK) && (n > INT_MAX)) {
+ if ((sizeof(int) != sizeof(size_t)) && (result == TCL_OK) && (n > INT_MAX)) {
if (interp) {
Tcl_AppendResult(interp, "List too large to be processed", NULL);
}
@@ -123,7 +129,7 @@ int TclDictObjSize(Tcl_Interp *interp, Tcl_Obj *dictPtr,
size_t n = TCL_INDEX_NONE;
int result = Tcl_DictObjSize(interp, dictPtr, &n);
if (sizePtr) {
- if ((result == TCL_OK) && (n > INT_MAX)) {
+ if ((sizeof(int) != sizeof(size_t)) && (result == TCL_OK) && (n > INT_MAX)) {
if (interp) {
Tcl_AppendResult(interp, "Dict too large to be processed", NULL);
}
@@ -138,7 +144,7 @@ int TclSplitList(Tcl_Interp *interp, const char *listStr, int *argcPtr,
size_t n = TCL_INDEX_NONE;
int result = Tcl_SplitList(interp, listStr, &n, argvPtr);
if (argcPtr) {
- if ((result == TCL_OK) && (n > INT_MAX)) {
+ if ((sizeof(int) != sizeof(size_t)) && (result == TCL_OK) && (n > INT_MAX)) {
if (interp) {
Tcl_AppendResult(interp, "List too large to be processed", NULL);
}
@@ -153,7 +159,7 @@ void TclSplitPath(const char *path, int *argcPtr, const char ***argvPtr) {
size_t n = TCL_INDEX_NONE;
Tcl_SplitPath(path, &n, argvPtr);
if (argcPtr) {
- if (n > INT_MAX) {
+ if ((sizeof(int) != sizeof(size_t)) && (n > INT_MAX)) {
n = TCL_INDEX_NONE; /* No other way to return an error-situation */
Tcl_Free((void *)*argvPtr);
*argvPtr = NULL;
@@ -165,7 +171,7 @@ Tcl_Obj *TclFSSplitPath(Tcl_Obj *pathPtr, int *lenPtr) {
size_t n = TCL_INDEX_NONE;
Tcl_Obj *result = Tcl_FSSplitPath(pathPtr, &n);
if (lenPtr) {
- if (result && (n > INT_MAX)) {
+ if ((sizeof(int) != sizeof(size_t)) && result && (n > INT_MAX)) {
Tcl_DecrRefCount(result);
return NULL;
}
@@ -867,7 +873,7 @@ const TclStubs tclStubs = {
Tcl_BadChannelOption, /* 78 */
Tcl_CallWhenDeleted, /* 79 */
Tcl_CancelIdleCall, /* 80 */
- 0, /* 81 */
+ Tcl_Close, /* 81 */
Tcl_CommandComplete, /* 82 */
Tcl_Concat, /* 83 */
Tcl_ConvertElement, /* 84 */