From 1e07aedaeb1d455cab5a9a4975284e59ee5003de Mon Sep 17 00:00:00 2001 From: nima Date: Wed, 6 Aug 2008 07:07:20 +0000 Subject: Completed functions for `case 25'. git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@46 abc39116-655e-4be6-ad55-d661dc543056 --- dmidecode.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'dmidecode.c') diff --git a/dmidecode.c b/dmidecode.c index 57b9bed..78e98dc 100644 --- a/dmidecode.c +++ b/dmidecode.c @@ -2384,20 +2384,17 @@ static PyObject *dmi_hardware_security_status(u8 code) { ** 3.3.26 System Power Controls (Type 25) */ -static const char *dmi_power_controls_power_on(u8 *p, char *_) { +static PyObject *dmi_power_controls_power_on(u8 *p, char *_) { /* 3.3.26.1 */ - catsprintf(_, NULL); - if(dmi_bcd_range(p[0], 0x01, 0x12)) catsprintf(_, " %02X", p[0]); - else catsprintf(_, " *"); - if(dmi_bcd_range(p[1], 0x01, 0x31)) catsprintf(_, "-%02X", p[1]); - else catsprintf(_, "-*"); - if(dmi_bcd_range(p[2], 0x00, 0x23)) catsprintf(_, " %02X", p[2]); - else catsprintf(_, " *"); - if(dmi_bcd_range(p[3], 0x00, 0x59)) catsprintf(_, ":%02X", p[3]); - else catsprintf(_, ":*"); - if(dmi_bcd_range(p[4], 0x00, 0x59)) catsprintf(_, ":%02X", p[4]); - else catsprintf(_, ":*"); - return _; + PyObject *data = PyList_New(5); + + PyList_SET_ITEM(data, 0, dmi_bcd_range(p[0], 0x01, 0x12)?PyString_FromFormat(" %02X", p[0]):PyString_FromString(" *")); + PyList_SET_ITEM(data, 1, dmi_bcd_range(p[1], 0x01, 0x31)?PyString_FromFormat("-%02X", p[1]):PyString_FromString("-*")); + PyList_SET_ITEM(data, 2, dmi_bcd_range(p[2], 0x00, 0x23)?PyString_FromFormat(" %02X", p[2]):PyString_FromString(" *")); + PyList_SET_ITEM(data, 3, dmi_bcd_range(p[3], 0x00, 0x59)?PyString_FromFormat(":%02X", p[3]):PyString_FromString(":*")); + PyList_SET_ITEM(data, 4, dmi_bcd_range(p[4], 0x00, 0x59)?PyString_FromFormat(":%02X", p[4]):PyString_FromString(":*")); + + return data; } /******************************************************************************* -- cgit