summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Troan <ewt@redhat.com>1999-08-31 01:52:26 +0000
committerErik Troan <ewt@redhat.com>1999-08-31 01:52:26 +0000
commit71ad01470e27761c11f036f56b2bb5408f160f15 (patch)
tree3cc26b624bd795362780a1222ea8b827259643b2
parent152b7c4d486529c0baa547c7c292601748d22461 (diff)
downloadanaconda-71ad01470e27761c11f036f56b2bb5408f160f15.tar.gz
anaconda-71ad01470e27761c11f036f56b2bb5408f160f15.tar.xz
anaconda-71ad01470e27761c11f036f56b2bb5408f160f15.zip
added poptPartseArgv
-rw-r--r--isys/Makefile2
-rw-r--r--isys/isys.c24
-rw-r--r--isys/isys.py3
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)