diff options
author | Erik Troan <ewt@redhat.com> | 1999-08-31 01:52:26 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 1999-08-31 01:52:26 +0000 |
commit | 71ad01470e27761c11f036f56b2bb5408f160f15 (patch) | |
tree | 3cc26b624bd795362780a1222ea8b827259643b2 | |
parent | 152b7c4d486529c0baa547c7c292601748d22461 (diff) | |
download | anaconda-71ad01470e27761c11f036f56b2bb5408f160f15.tar.gz anaconda-71ad01470e27761c11f036f56b2bb5408f160f15.tar.xz anaconda-71ad01470e27761c11f036f56b2bb5408f160f15.zip |
added poptPartseArgv
-rw-r--r-- | isys/Makefile | 2 | ||||
-rw-r--r-- | isys/isys.c | 24 | ||||
-rw-r--r-- | isys/isys.py | 3 |
3 files changed, 28 insertions, 1 deletions
diff --git a/isys/Makefile b/isys/Makefile index e3672a55d..a3ead4a8c 100644 --- a/isys/Makefile +++ b/isys/Makefile @@ -3,7 +3,7 @@ OBJECTS = isys.o nfsmount.o dns.o mount_clnt.o mount_xdr.o imount.o \ smp.o moduleinfo.o devnodes.o cpio.o probe.o STATICOBJS = otherinsmod.o STATICLIBS = pci/libpciprobe.a -LOADLIBES = -lrpm -lresolv -lz -lpci +LOADLIBES = -lrpm -lresolv -lz -lpci -lpopt SUBDIRS = modutils pci PYTHONLIBDIR = $(DESTDIR)/usr/lib/python1.5/site-packages diff --git a/isys/isys.c b/isys/isys.c index ae2ae6349..85f84e5f8 100644 --- a/isys/isys.c +++ b/isys/isys.c @@ -32,12 +32,14 @@ static PyObject * createProbedList(PyObject * s, PyObject * args); static PyObject * doChroot(PyObject * s, PyObject * args); static PyObject * doCheckBoot(PyObject * s, PyObject * args); static PyObject * doSwapon(PyObject * s, PyObject * args); +static PyObject * doPoptParse(PyObject * s, PyObject * args); static PyMethodDef isysModuleMethods[] = { { "findmoduleinfo", (PyCFunction) doFindModInfo, METH_VARARGS, NULL }, /* { "insmod", (PyCFunction) doInsmod, METH_VARARGS, NULL }, */ + { "poptParseArgv", (PyCFunction) doPoptParse, METH_VARARGS, NULL }, { "mkdevinode", (PyCFunction) makeDevInode, METH_VARARGS, NULL }, { "modulelist", (PyCFunction) getModuleList, METH_VARARGS, NULL }, { "pciprobe", (PyCFunction) doPciProbe, METH_VARARGS, NULL }, @@ -516,3 +518,25 @@ static PyObject * probedListSubscript(probedListObject * o, int item) { return Py_BuildValue("(sss)", class, po->list.known[item].name, model); } + +static PyObject * doPoptParse(PyObject * s, PyObject * args) { + char * str; + int argc, i; + char ** argv; + PyObject * list; + + if (!PyArg_ParseTuple(args, "s", &str)) return NULL; + + if (poptParseArgvString(str, &argc, &argv)) { + PyErr_SetString(PyExc_ValueError, "bad string for parsing"); + return NULL; + } + + list = PyList_New(argc); + for (i = 0; i < argc; i++) + PyList_SetItem(list, i, PyString_FromString(argv[i])); + + free(argv); + + return list; +} diff --git a/isys/isys.py b/isys/isys.py index 1cd7b8d69..61122479a 100644 --- a/isys/isys.py +++ b/isys/isys.py @@ -116,3 +116,6 @@ def inet_calcNS (net): netaddr = net return inet_ntoa (netaddr + 1) + +def parseArgv(str): + return _isys.poptParseArgv(str) |