Compare commits

...

1 Commits

Author SHA1 Message Date
Kai Huuhko 73938af391 Elm: Fix module init from embedded interpreter
sys.argv doesn't exist there
2015-05-09 20:19:35 +03:00
1 changed files with 12 additions and 12 deletions

View File

@ -366,20 +366,20 @@ def init():
# FIXME: Why are we passing the cl args to elm_init here? # FIXME: Why are we passing the cl args to elm_init here?
cdef: cdef:
int argc, i, arg_len int argc = 0, i, arg_len
char **argv char **argv = NULL
char *arg char *arg
int ret
argc = len(sys.argv) if hasattr(sys, "argv"):
argv = <char **>PyMem_Malloc(argc * sizeof(char *)) argc = len(sys.argv)
for i in range(argc): argv = <char **>PyMem_Malloc(argc * sizeof(char *))
t = sys.argv[i] for i in range(argc):
if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t) t = sys.argv[i]
arg = t if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t)
arg_len = len(arg) arg = t
argv[i] = <char *>PyMem_Malloc(arg_len + 1) arg_len = len(arg)
memcpy(argv[i], arg, arg_len + 1) argv[i] = <char *>PyMem_Malloc(arg_len + 1)
memcpy(argv[i], arg, arg_len + 1)
return elm_init(argc, argv) return elm_init(argc, argv)