diff options
Diffstat (limited to 'plugins/pychrysa/plugin.c')
-rw-r--r-- | plugins/pychrysa/plugin.c | 69 |
1 files changed, 7 insertions, 62 deletions
diff --git a/plugins/pychrysa/plugin.c b/plugins/pychrysa/plugin.c index 1bda007..c562044 100644 --- a/plugins/pychrysa/plugin.c +++ b/plugins/pychrysa/plugin.c @@ -132,7 +132,7 @@ static PyObject *pychrysa_plugin_handle_debugger(PyObject *, PyObject *); - +#if 0 @@ -155,19 +155,7 @@ main2(const char *filename, const char *method) if (pFunc && PyCallable_Check(pFunc)) { pArgs = PyTuple_New(0/*argc - 3*/); -#if 0 - for (i = 0; i < argc - 3; ++i) { - pValue = PyLong_FromLong(atoi(argv[i + 3])); - if (!pValue) { - Py_DECREF(pArgs); - Py_DECREF(pModule); - fprintf(stderr, "Cannot convert argument\n"); - return 1; - } - /* pValue reference stolen here: */ - PyTuple_SetItem(pArgs, i, pValue); - } -#endif + pValue = PyObject_CallObject(pFunc, pArgs); Py_DECREF(pArgs); if (pValue != NULL) { @@ -199,7 +187,7 @@ main2(const char *filename, const char *method) } - +#endif @@ -540,7 +528,7 @@ static bool g_python_plugin_execute_on_binary(GPythonPlugin *plugin, GLoadedBina args = PyTuple_New(2); - PyTuple_SetItem(args, 0, py_loaded_binary_from_c(binary)); + PyTuple_SetItem(args, 0, pygobject_new(G_OBJECT(binary))); PyTuple_SetItem(args, 1, PyInt_FromLong(action)); value = run_python_method(plugin->instance, "execute_on_binary", args); @@ -752,7 +740,9 @@ static PyObject *pychrysa_plugin_is_matching(PyObject *self, PyObject *args) result = PyTuple_New(3); PyTuple_SetItem(result, 0, PyInt_FromLong(MFA_NONE)); + Py_DECREF(Py_None); PyTuple_SetItem(result, 1, Py_None); + Py_DECREF(Py_None); PyTuple_SetItem(result, 2, Py_None); return result; @@ -797,52 +787,12 @@ static PyObject *pychrysa_plugin_handle_debugger(PyObject *self, PyObject *args) static PyObject *pychrysa_plugin_run(PyObject *self, PyObject *args) { - return Py_None; - -} - - - - - -#include <pygtk-2.0/pygobject.h> - -static int convert_to_w(PyGObject *obj, void **out) -{ - - //if (!pygobject_check(obj, - - *out = pygobject_get(obj); - - return (1); + Py_RETURN_NONE; } -static PyObject *add_wgt(PyObject *self, PyObject *args) -{ - GtkWidget *result; - GtkWidget *button; - - result = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_widget_set_size_request(result, 400, 300); - gtk_window_set_position(GTK_WINDOW(result), GTK_WIN_POS_CENTER); - gtk_container_set_border_width(GTK_CONTAINER(result), 4); - gtk_window_set_title(GTK_WINDOW(result), _("ChrysalideWWW")); - - gtk_widget_show (result); - - - if (!PyArg_ParseTuple(args, "O&", convert_to_w, &button)) - return Py_None; - - gtk_container_add(GTK_CONTAINER(result), button); - - - return Py_None; - -} @@ -893,11 +843,6 @@ static PyMethodDef pychrysa_plugin_methods[] = { METH_VARARGS, "Run the plugin for a specific action." }, - { - "add_wgt", (PyCFunction)add_wgt, - METH_VARARGS, - "Run the plugin for a specific action." - }, NULL }; |