1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-
+
|
/*
* tclBinary.c --
*
* This file contains the implementation of the "binary" Tcl built-in
* command and the Tcl binary data object.
*
* Copyright (c) 1997 by Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclBinary.c,v 1.1.2.2 1998/09/24 23:58:41 stanton Exp $
* RCS: @(#) $Id: tclBinary.c,v 1.1.2.3 1999/02/10 23:31:13 stanton Exp $
*/
#include <math.h>
#include "tclInt.h"
#include "tclPort.h"
/*
|
| ︙ | | |
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
|
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
|
-
+
-
-
+
-
|
if (src[size-1] != '\0' && src[size-1] != ' ') {
break;
}
size--;
}
}
valuePtr = Tcl_NewByteArrayObj(src, size);
resultPtr = Tcl_SetObjVar2(interp,
resultPtr = Tcl_ObjSetVar2(interp, objv[arg],
Tcl_GetString(objv[arg]),
NULL, valuePtr,
NULL, valuePtr, TCL_LEAVE_ERR_MSG);
TCL_LEAVE_ERR_MSG);
arg++;
if (resultPtr == NULL) {
Tcl_DecrRefCount(valuePtr); /* unneeded */
return TCL_ERROR;
}
offset += count;
break;
|
| ︙ | | |
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
|
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
|
-
+
-
-
+
-
|
} else {
value = *src++;
}
*dest++ = (char) ((value & 0x80) ? '1' : '0');
}
}
resultPtr = Tcl_SetObjVar2(interp,
resultPtr = Tcl_ObjSetVar2(interp, objv[arg],
Tcl_GetString(objv[arg]),
NULL, valuePtr,
NULL, valuePtr, TCL_LEAVE_ERR_MSG);
TCL_LEAVE_ERR_MSG);
arg++;
if (resultPtr == NULL) {
Tcl_DecrRefCount(valuePtr); /* unneeded */
return TCL_ERROR;
}
offset += (count + 7 ) / 8;
break;
|
| ︙ | | |
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
|
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
|
-
+
-
-
+
-
|
} else {
value = *src++;
}
*dest++ = hexdigit[(value >> 4) & 0xf];
}
}
resultPtr = Tcl_SetObjVar2(interp,
resultPtr = Tcl_ObjSetVar2(interp, objv[arg],
Tcl_GetString(objv[arg]),
NULL, valuePtr,
NULL, valuePtr, TCL_LEAVE_ERR_MSG);
TCL_LEAVE_ERR_MSG);
arg++;
if (resultPtr == NULL) {
Tcl_DecrRefCount(valuePtr); /* unneeded */
return TCL_ERROR;
}
offset += (count + 1) / 2;
break;
|
| ︙ | | |
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
|
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
|
-
+
-
-
+
-
|
src += size;
Tcl_ListObjAppendElement(NULL, valuePtr,
elementPtr);
}
offset += count*size;
}
resultPtr = Tcl_SetObjVar2(interp,
resultPtr = Tcl_ObjSetVar2(interp, objv[arg],
Tcl_GetString(objv[arg]),
NULL, valuePtr,
NULL, valuePtr, TCL_LEAVE_ERR_MSG);
TCL_LEAVE_ERR_MSG);
arg++;
if (resultPtr == NULL) {
Tcl_DecrRefCount(valuePtr); /* unneeded */
return TCL_ERROR;
}
break;
}
|
| ︙ | | |