summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-08-06 07:07:20 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-08-06 07:07:20 +0000
commit1e07aedaeb1d455cab5a9a4975284e59ee5003de (patch)
treeb3b2e65056aa083383706a1bc3178857d529d85f
parent1f0c5e5936f3c0bb55419c6ee1f55e9ff3f0078d (diff)
downloadpython-dmidecode-1e07aedaeb1d455cab5a9a4975284e59ee5003de.tar.gz
python-dmidecode-1e07aedaeb1d455cab5a9a4975284e59ee5003de.tar.xz
python-dmidecode-1e07aedaeb1d455cab5a9a4975284e59ee5003de.zip
Completed functions for `case 25'.
git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@46 abc39116-655e-4be6-ad55-d661dc543056
-rw-r--r--dmidecode.c23
1 files changed, 10 insertions, 13 deletions
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;
}
/*******************************************************************************