summaryrefslogtreecommitdiffstats
path: root/dmidecode.c
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-08-06 12:52:46 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-08-06 12:52:46 +0000
commit6c0d824bea2f120deec404d8d0b549a4fa7022e3 (patch)
treeb72ad1cd998b2f924c5f2f6b701b6baabf87708e /dmidecode.c
parent6ec138d6b4df9c034e44803350ee00b5249db718 (diff)
downloadpython-dmidecode-6c0d824bea2f120deec404d8d0b549a4fa7022e3.tar.gz
python-dmidecode-6c0d824bea2f120deec404d8d0b549a4fa7022e3.tar.xz
python-dmidecode-6c0d824bea2f120deec404d8d0b549a4fa7022e3.zip
Completed `case 126', thought to have been completed in previous commit.
Some housekeeping elsewhere. git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@58 abc39116-655e-4be6-ad55-d661dc543056
Diffstat (limited to 'dmidecode.c')
-rw-r--r--dmidecode.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/dmidecode.c b/dmidecode.c
index 1d4b8e1..d3dfe94 100644
--- a/dmidecode.c
+++ b/dmidecode.c
@@ -76,24 +76,24 @@ static PyObject *dmi_string_py(struct dmi_header *dm, u8 s) {
char *bp=(char *)dm->data;
size_t i, len;
- if(s==0) return PyString_FromString("Not Specified");
-
- bp += dm->length;
- while(s>1 && *bp) {
- bp += strlen(bp);
- bp++;
- s--;
- }
-
- if(!*bp) return PyString_FromString(bad_index);
+ PyObject *data;
- /* ASCII filtering */
- len=strlen(bp);
- for(i=0; i<len; i++)
- if(bp[i]<32 || bp[i]==127)
- bp[i]='.';
+ if(s==0) data = PyString_FromString("Not Specified");
+ else {
+ bp += dm->length;
+ while(s>1 && *bp) { bp += strlen(bp); bp++; s--; }
- return PyString_FromString(bp);
+ if(!*bp) data = PyString_FromString(bad_index);
+ else {
+ /* ASCII filtering */
+ len=strlen(bp);
+ for(i=0; i<len; i++)
+ if(bp[i]<32 || bp[i]==127)
+ bp[i]='.';
+ data = PyString_FromString(bp);
+ }
+ }
+ return data;
}
const char *dmi_string(struct dmi_header *dm, u8 s) {
@@ -4345,7 +4345,12 @@ void dmi_decode(struct dmi_header *h, u16 ver, PyObject* pydata) {
break;
case 126: /* 3.3.41 Inactive */
- catsprintf(_, "Inactive", NULL);
+ NEW_METHOD = 1;
+ caseData = PyDict_New();
+
+ _val = Py_None;
+ PyDict_SetItemString(caseData, "Inactive", _val);
+ Py_DECREF(_val);
break;
case 127: /* 3.3.42 End Of Table */