From b882830e4b854fdad709edcabd5145d06f1cd147 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 22 Aug 2010 16:56:24 -0700 Subject: Remove the python-missingos module since apparently nobody has needed it for a long time. --- src/python-missingos/missingos.c | 119 --------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 src/python-missingos/missingos.c (limited to 'src/python-missingos/missingos.c') diff --git a/src/python-missingos/missingos.c b/src/python-missingos/missingos.c deleted file mode 100644 index bd852a381..000000000 --- a/src/python-missingos/missingos.c +++ /dev/null @@ -1,119 +0,0 @@ - -#include "Python.h" - -#include -#include -#include -#include - -static char missingos_lchown__doc__[]; -static PyObject * missingos_lchown(PyObject *self, PyObject *args); -static char missingos_mknod__doc__[]; -static PyObject * missingos_mknod(PyObject *self, PyObject *args); - -static char missingos__doc__[] = "Provide some operations that\ - are missing from the standard os / posix modules."; - -static PyMethodDef missingos_methods[] = { - {"lchown", missingos_lchown, METH_VARARGS, missingos_lchown__doc__}, - {"mknod", missingos_mknod, METH_VARARGS, missingos_mknod__doc__}, - {NULL, NULL} /* sentinel */ -}; - -static PyObject * -posix_error_with_allocated_filename(char* name) -{ - PyObject *rc = PyErr_SetFromErrnoWithFilename(PyExc_OSError, name); - PyMem_Free(name); - return rc; -} - -static char missingos_lchown__doc__[] = -"lchown(path, uid, gid) -> None\n\ -Change the owner and group id of path to the numeric uid and gid."; - -static PyObject * -missingos_lchown(PyObject *self, PyObject *args) { - char *path = NULL; - int uid, gid; - int res; - if (!PyArg_ParseTuple(args, "etii:lchown", - Py_FileSystemDefaultEncoding, &path, - &uid, &gid)) - return NULL; - res = lchown(path, (uid_t) uid, (gid_t) gid); - if (res < 0) - return posix_error_with_allocated_filename(path); - PyMem_Free(path); - Py_INCREF(Py_None); - return Py_None; -} - -static char missingos_mknod__doc__[] = -"mknod(path, type, major, minor [, mode=0600 ]) -> None\n\ -Create a special file. Mode fixed at 0600.\ -Note that for type 'p' major and minor are ignored.\ -"; - -static PyObject * -missingos_mknod(PyObject *self, PyObject *args) { - char *path = NULL; - char *type = NULL; - int major = 0; - int minor = 0; - mode_t real_mode; - dev_t real_dev; - int mode = 0600; - - int res; - if (!PyArg_ParseTuple(args, "etsii|i:mknod", - Py_FileSystemDefaultEncoding, &path, - &type, &major, &minor, &mode)) - return NULL; - /* type can be *one* of b, c, u, p */ - /* major/minor are forbidden for p, reqd otherwise */ - if (!strcmp(type, "p")) { - /* pipe */ - if (major != 0 || minor != 0) { - return NULL; - } - real_mode = S_IFIFO; - major = 0; - minor = 0; - } else if (!strcmp(type, "b")) { - /* block */ - real_mode = S_IFBLK; - } else if (!strcmp(type, "c")) { - real_mode = S_IFCHR; - /* char */ - } else if (!strcmp(type, "u")) { - real_mode = S_IFCHR; - /* unbuffered char */ - } else { - /* error */ - PyErr_SetString(PyExc_ValueError, "type must be one of p,b,c,u"); - return NULL; - } - - real_mode |= mode; - real_dev = (major << 8) | minor; - - /* use mode to modify real_mode */ - - res = mknod(path, real_mode, real_dev); - if (res < 0) - return posix_error_with_allocated_filename(path); - PyMem_Free(path); - Py_INCREF(Py_None); - return Py_None; -} - - -DL_EXPORT(void) -initmissingos(void) { - PyObject *m; - - m = Py_InitModule4("missingos", missingos_methods, - missingos__doc__, (PyObject *)NULL, - PYTHON_API_VERSION); -} -- cgit v1.2.3-1-g7c22