]> sigrok.org Git - libsigrokdecode.git/commitdiff
decode.c: Simplify the import code.
authorUwe Hermann <redacted>
Thu, 27 Jan 2011 22:12:34 +0000 (23:12 +0100)
committerUwe Hermann <redacted>
Thu, 27 Jan 2011 22:12:34 +0000 (23:12 +0100)
Use PyImport_ImportModule() instead of PyImport_Import(), so we don't
have to temporarily create a py_name object.

decode.c

index 76f6317eb51227761e30687ac0e73422f3f66f41..aa126df125fbe0de3b89ea67eef6adfc7f16ecf0 100644 (file)
--- a/decode.c
+++ b/decode.c
@@ -158,22 +158,14 @@ int sigrokdecode_load_decoder(const char *name,
                              struct sigrokdecode_decoder **dec)
 {
        struct sigrokdecode_decoder *d;
-       PyObject *py_name, *py_mod, *py_func, *py_res /* , *py_tuple */;
+       PyObject *py_mod, *py_func, *py_res /* , *py_tuple */;
        int r;
 
-       /* Get the name of the decoder module as Python string. */
-       if (!(py_name = PyString_FromString(name))) { /* NEWREF */
-               PyErr_Print(); /* Returns void. */
-               return SIGROKDECODE_ERR_PYTHON; /* TODO: More specific error? */
-       }
-
        /* "Import" the Python module. */
-       if (!(py_mod = PyImport_Import(py_name))) { /* NEWREF */
+       if (!(py_mod = PyImport_ImportModule(name))) { /* NEWREF */
                PyErr_Print(); /* Returns void. */
-               Py_XDECREF(py_name);
                return SIGROKDECODE_ERR_PYTHON; /* TODO: More specific error? */
        }
-       Py_XDECREF(py_name);
 
        /* Get the 'register' function name as Python callable object. */
        py_func = PyObject_GetAttrString(py_mod, "register"); /* NEWREF */