Skip to content

Commit 6baf45f

Browse files
committed
Raise return limit to 3 641 144 characters.
Fixed #13
1 parent d43e5e9 commit 6baf45f

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

c/iscpython.c

+12-5
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ int SimpleStringFull(char *command, double* result) {
110110
}
111111

112112
// Assumes initialized environment
113-
int SimpleString(char *command, char *resultVar, char* result) {
113+
int SimpleString(char *command, char *resultVar, CACHE_EXSTRP result) {
114114

115115
if (isInitialized == false) {
116116
Initialize();
@@ -125,9 +125,16 @@ int SimpleString(char *command, char *resultVar, char* result) {
125125

126126
//PyObject* varStr = PyObject_Repr(var);
127127
PyObject* varStr = PyObject_Str(var);
128-
char* str = PyUnicode_AsUTF8(varStr);
128+
char* str = PyUnicode_AsUTF8(varStr);
129129

130-
sprintf(result, "%s", str);
130+
//sprintf(result, "%s", str);
131+
132+
int len = strlen(str);
133+
CACHEEXSTRKILL(result);
134+
if (!CACHEEXSTRNEW(result,len)) {
135+
return ZF_FAILURE;
136+
}
137+
memcpy(result->str.ch, str, len); // copy to retval->str.ch
131138

132139
Py_DECREF(varStr);
133140
Py_DECREF(var);
@@ -148,7 +155,7 @@ int main(int argc, char **argv) {
148155
char* result = malloc(sizeof(char) * 1024);
149156

150157
Initialize();
151-
SimpleString("x=2", "x", result);
158+
//SimpleString("x=2", "x", result);
152159
Finalize();
153160

154161
printf("%s", result);
@@ -161,5 +168,5 @@ ZFBEGIN
161168
ZFENTRY("GetRandom","D",GetRandom)
162169
ZFENTRY("GetRandomSimple","D",GetRandomSimple)
163170
ZFENTRY("SimpleStringFull","cD",SimpleStringFull)
164-
ZFENTRY("SimpleString","ccC",SimpleString)
171+
ZFENTRY("SimpleString","ccJ",SimpleString)
165172
ZFEND

0 commit comments

Comments
 (0)