@@ -110,7 +110,7 @@ int SimpleStringFull(char *command, double* result) {
110
110
}
111
111
112
112
// Assumes initialized environment
113
- int SimpleString (char * command , char * resultVar , char * result ) {
113
+ int SimpleString (char * command , char * resultVar , CACHE_EXSTRP result ) {
114
114
115
115
if (isInitialized == false) {
116
116
Initialize ();
@@ -125,9 +125,16 @@ int SimpleString(char *command, char *resultVar, char* result) {
125
125
126
126
//PyObject* varStr = PyObject_Repr(var);
127
127
PyObject * varStr = PyObject_Str (var );
128
- char * str = PyUnicode_AsUTF8 (varStr );
128
+ char * str = PyUnicode_AsUTF8 (varStr );
129
129
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
131
138
132
139
Py_DECREF (varStr );
133
140
Py_DECREF (var );
@@ -148,7 +155,7 @@ int main(int argc, char **argv) {
148
155
char * result = malloc (sizeof (char ) * 1024 );
149
156
150
157
Initialize ();
151
- SimpleString ("x=2" , "x" , result );
158
+ // SimpleString("x=2", "x", result);
152
159
Finalize ();
153
160
154
161
printf ("%s" , result );
@@ -161,5 +168,5 @@ ZFBEGIN
161
168
ZFENTRY ("GetRandom" ,"D" ,GetRandom )
162
169
ZFENTRY ("GetRandomSimple" ,"D" ,GetRandomSimple )
163
170
ZFENTRY ("SimpleStringFull" ,"cD" ,SimpleStringFull )
164
- ZFENTRY ("SimpleString" ,"ccC " ,SimpleString )
171
+ ZFENTRY ("SimpleString" ,"ccJ " ,SimpleString )
165
172
ZFEND
0 commit comments