From af27ba4dd2ffdef8e4ee3abf187475c1b3303f71 Mon Sep 17 00:00:00 2001 From: Nima Talebi Date: Sun, 24 May 2009 00:26:23 +1000 Subject: Completed preliminary reimplementation of type() Updated test unit to match. Throw an exception instead of returning None/False in some functions. --- src/dmidecodemodule.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/dmidecodemodule.c') diff --git a/src/dmidecodemodule.c b/src/dmidecodemodule.c index 1b56837..82f2de7 100644 --- a/src/dmidecodemodule.c +++ b/src/dmidecodemodule.c @@ -360,6 +360,8 @@ static PyObject *dmidecode_get_slot(PyObject * self, PyObject * args) static PyObject *dmidecode_get_type(PyObject * self, PyObject * args) { long unsigned int lu; + char msg[8194]; + int e = 0; if(PyArg_ParseTuple(args, (char *)"i", &lu)) { if(lu < 256) { @@ -368,9 +370,17 @@ static PyObject *dmidecode_get_type(PyObject * self, PyObject * args) sprintf(s, "%lu", lu); return dmidecode_get(self, s); } - return Py_False; + e = 1; + //return Py_False; } - return Py_None; + e = 2; + //return Py_None; + + if(e == 1) snprintf(msg, 8193, "Types are bound between 0 and 255 (inclusive)%c", 0); + else snprintf(msg, 8193, "Invalid type identifier%c", 0); + + PyErr_SetString(PyExc_SystemError, msg); + return NULL; } static PyObject *dmidecode_dump(PyObject * self, PyObject * null) -- cgit