Extending Python

Example extension functions:

static PyObject* encrypt(PyObject *self, PyObject *args)
    {
    char *string, *returnstring, *p;
    if (!PyArg_ParseTuple(args, "s", &string))
        return NULL;
    returnstring = strdup(string);
    for (p=returnstring; *p; p++)
        *p = rot13(*p);
    return Py_BuildValue("s", returnstring);
    }
static PyObject* helloworld(PyObject *self, PyObject *args)
    {
    if (!PyArg_ParseTuple(args, ""))   /* No arguments expected */
        return NULL;
    printf("Hello, world!\n");
    Py_INCREF(Py_None);
    return Py_None;                    /* No return value */
    }

next