diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | plugins/dex/python/format.c | 5 | ||||
-rw-r--r-- | plugins/elf/python/format.c | 12 |
3 files changed, 21 insertions, 2 deletions
@@ -1,3 +1,9 @@ +17-11-30 Cyrille Bagard <nocbos@gmail.com> + + * plugins/dex/python/format.c: + * plugins/elf/python/format.c: + Mark some arguments as optional for loading formats with Python. + 17-11-29 Cyrille Bagard <nocbos@gmail.com> * plugins/elf/dynamic.c: diff --git a/plugins/dex/python/format.c b/plugins/dex/python/format.c index 74f6eae..906b09a 100644 --- a/plugins/dex/python/format.c +++ b/plugins/dex/python/format.c @@ -77,7 +77,10 @@ static PyObject *py_dex_format_new(PyTypeObject *type, PyObject *args, PyObject GtkStatusStack *status; /* Instance GTK de suivi */ GBinFormat *format; /* Création GLib à transmettre */ - ret = PyArg_ParseTuple(args, "OOO", &content_obj, &parent_obj, &status_obj); + parent_obj = Py_None; + status_obj = Py_None; + + ret = PyArg_ParseTuple(args, "O|OO", &content_obj, &parent_obj, &status_obj); if (!ret) return NULL; ret = PyObject_IsInstance(content_obj, (PyObject *)get_python_binary_content_type()); diff --git a/plugins/elf/python/format.c b/plugins/elf/python/format.c index eb1bedb..a5e93d7 100644 --- a/plugins/elf/python/format.c +++ b/plugins/elf/python/format.c @@ -73,9 +73,19 @@ static PyObject *py_elf_format_new(PyTypeObject *type, PyObject *args, PyObject GtkStatusStack *status; /* Instance GTK de suivi */ GBinFormat *format; /* Création GLib à transmettre */ - ret = PyArg_ParseTuple(args, "O!OO", get_python_binary_content_type(), &content_obj, &parent_obj, &status_obj); + parent_obj = Py_None; + status_obj = Py_None; + + ret = PyArg_ParseTuple(args, "O|OO", &content_obj, &parent_obj, &status_obj); if (!ret) return NULL; + ret = PyObject_IsInstance(content_obj, (PyObject *)get_python_binary_content_type()); + if (!ret) + { + PyErr_SetString(PyExc_TypeError, _("The first argument must be an instance of BinContent.")); + return NULL; + } + content = G_BIN_CONTENT(pygobject_get(content_obj)); if (parent_obj == Py_None) |