summaryrefslogtreecommitdiffstats
path: root/generic/tclBinary.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclBinary.c')
-rw-r--r--generic/tclBinary.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index 0c171c8..12a3aa9 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -912,9 +912,9 @@ BinaryFormatCmd(
goto badIndex;
}
if (count == BINARY_ALL) {
- Tcl_Obj *copy = TclNarrowToBytes(objv[arg]);
- (void)Tcl_GetByteArrayFromObj(copy, &count);
- Tcl_DecrRefCount(copy);
+ if (Tcl_GetByteArrayFromObj(objv[arg], &count) == NULL) {
+ count = Tcl_GetCharLength(objv[arg]);
+ }
} else if (count == BINARY_NOCOUNT) {
count = 1;
}
@@ -2524,7 +2524,7 @@ BinaryDecodeHex(
}
TclNewObj(resultObj);
- data = Tcl_GetBytesFromObj(NULL, objv[objc - 1], &count);
+ data = Tcl_GetByteArrayFromObj(objv[objc - 1], &count);
if (data == NULL) {
pure = 0;
data = (unsigned char *) Tcl_GetStringFromObj(objv[objc - 1], &count);
@@ -2657,7 +2657,7 @@ BinaryEncode64(
}
break;
case OPT_WRAPCHAR:
- wrapchar = (const char *)Tcl_GetBytesFromObj(NULL,
+ wrapchar = (const char *)Tcl_GetByteArrayFromObj(
objv[i + 1], &wrapcharlen);
if (wrapchar == NULL) {
purewrap = 0;
@@ -2928,7 +2928,7 @@ BinaryDecodeUu(
}
TclNewObj(resultObj);
- data = Tcl_GetBytesFromObj(NULL, objv[objc - 1], &count);
+ data = Tcl_GetByteArrayFromObj(objv[objc - 1], &count);
if (data == NULL) {
pure = 0;
data = (unsigned char *) Tcl_GetStringFromObj(objv[objc - 1], &count);
@@ -3103,7 +3103,7 @@ BinaryDecode64(
}
TclNewObj(resultObj);
- data = Tcl_GetBytesFromObj(NULL, objv[objc - 1], &count);
+ data = Tcl_GetByteArrayFromObj(objv[objc - 1], &count);
if (data == NULL) {
pure = 0;
data = (unsigned char *) Tcl_GetStringFromObj(objv[objc - 1], &count);