Skip to content

Commit f86c8dd

Browse files
committed
First version that returns str(resultVar)
1 parent ccd0ca7 commit f86c8dd

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

c/helloworld.c

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,24 @@ int SimpleString(char *command, double* result) {
8787
return ZF_SUCCESS; // set the exit status code
8888
}
8989

90-
int SimpleStringN(char *command, char *resultVar, double* result) {
90+
int SimpleStringN(char *command, char *resultVar, char* result) {
9191
PyRun_SimpleString(command);
9292

9393
PyObject *mainModule = PyImport_AddModule("__main__");
9494

9595
//char varName = *resultVar;
9696

9797
PyObject *var = PyObject_GetAttrString(mainModule, resultVar);
98-
*result = PyFloat_AsDouble(var);
98+
//*result = PyFloat_AsDouble(var);
99+
100+
//PyObject* objectsRepresentation = PyObject_Repr(var);
101+
PyObject* objectsRepresentation = PyObject_Str(var);
102+
char* s = PyUnicode_AsUTF8(objectsRepresentation);
103+
104+
sprintf(result,"%s",s);
99105

106+
//strcpy (result, s);
107+
//result = s;
100108
// TODO
101109
// https://stackoverflow.com/questions/5356773/python-get-string-representation-of-pyobject
102110

@@ -106,12 +114,20 @@ int SimpleStringN(char *command, char *resultVar, double* result) {
106114
}
107115

108116
int main(int argc, char **argv) {
109-
printf("Random: ");
117+
printf("X: ");
110118
//exec_interactive_interpreter(argc, argv);
111-
double random = 0;
119+
//double random = 0;
112120
//GetRandom(&random);
113-
GetRandomSimple(&random);
114-
printf("%lf", random);
121+
//GetRandomSimple(&random);
122+
// printf("%lf", random);
123+
char* result = malloc(sizeof(char) * 1024);
124+
125+
126+
Initialize();
127+
SimpleStringN("x=2", "x", result);
128+
Finalize();
129+
130+
printf(result);
115131
return 0;
116132
}
117133

@@ -120,5 +136,5 @@ ZFENTRY("Initialize","",Initialize)
120136
ZFENTRY("Finalize","",Finalize)
121137
ZFENTRY("GetRandom","D",GetRandom)
122138
ZFENTRY("SimpleString","cD",SimpleString)
123-
ZFENTRY("SimpleStringN","ccD",SimpleStringN)
139+
ZFENTRY("SimpleStringN","ccC",SimpleStringN)
124140
ZFEND

0 commit comments

Comments
 (0)