kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=9b234a4266cd72c28cd58602896756c000cf918d
commit 9b234a4266cd72c28cd58602896756c000cf918d Author: Kai Huuhko <[email protected]> Date: Sat May 9 20:16:45 2015 +0300 Elm: Fix module init from embedded interpreter sys.argv doesn't exist there --- efl/elementary/__init__.pyx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/efl/elementary/__init__.pyx b/efl/elementary/__init__.pyx index c4137da..9a2a602 100644 --- a/efl/elementary/__init__.pyx +++ b/efl/elementary/__init__.pyx @@ -113,20 +113,20 @@ def init(): # FIXME: Why are we passing the cl args to elm_init here? cdef: - int argc, i, arg_len - char **argv + int argc = 0, i, arg_len + char **argv = NULL char *arg - int ret - - argc = len(sys.argv) - argv = <char **>PyMem_Malloc(argc * sizeof(char *)) - for i in range(argc): - t = sys.argv[i] - if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t) - arg = t - arg_len = len(arg) - argv[i] = <char *>PyMem_Malloc(arg_len + 1) - memcpy(argv[i], arg, arg_len + 1) + + if hasattr(sys, "argv"): + argc = len(sys.argv) + argv = <char **>PyMem_Malloc(argc * sizeof(char *)) + for i in range(argc): + t = sys.argv[i] + if isinstance(t, unicode): t = PyUnicode_AsUTF8String(t) + arg = t + arg_len = len(arg) + argv[i] = <char *>PyMem_Malloc(arg_len + 1) + memcpy(argv[i], arg, arg_len + 1) return elm_init(argc, argv) --
