summaryrefslogtreecommitdiffstats
path: root/catsprintf.c
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-07-04 15:24:22 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-07-04 15:24:22 +0000
commit2a92460699aa8a18bc0602d48afed1ebb408c16a (patch)
tree9d412c51bf47f6b9e3698fda291614846b9a9004 /catsprintf.c
parent60eb9d480daa352d7af19ad67e410f384f0e9f74 (diff)
downloadpython-dmidecode-2a92460699aa8a18bc0602d48afed1ebb408c16a.tar.gz
python-dmidecode-2a92460699aa8a18bc0602d48afed1ebb408c16a.tar.xz
python-dmidecode-2a92460699aa8a18bc0602d48afed1ebb408c16a.zip
Removing printf() statements, instead adding to Python dictionary object,
untested. git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@11 abc39116-655e-4be6-ad55-d661dc543056
Diffstat (limited to 'catsprintf.c')
-rw-r--r--catsprintf.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/catsprintf.c b/catsprintf.c
index 3ca8afb..c7c02e4 100644
--- a/catsprintf.c
+++ b/catsprintf.c
@@ -54,28 +54,36 @@ static const dmi_codes_major dmiCodesMajor[] = {
};
dmi_minor* dmiAppendObject(long code, char const *key, const char *format, ...) {
- static dmi_minor* next = NULL;
+ static dmi_minor* last = NULL;
//. int minor = code&0x00FF;
//. int major = code>>8;
va_list arg;
va_start(arg, format);
- printf("\nstart: %d\n", sizeof(dmi_minor));
dmi_minor *o = (dmi_minor *)malloc(sizeof(dmi_minor));
- printf("stop\n");
o->id = code;
- o->major = &(dmiCodesMajor[map_maj[code>>8]]);
+ o->major = &dmiCodesMajor[map_maj[code>>8]];
o->key = key;
vsprintf(o->value, format, arg);
- o->last = next;
+ o->next = last;
va_end(arg); /* cleanup */
- next = o;
+ last = o;
return o;
}
+int dmiSetItem(PyObject* dict, const char *key, const char *format, ...) {
+ va_list arg;
+ va_start(arg, format);
+ char buffer[2048];
+ vsprintf(buffer, format, arg);
+ va_end(arg);
+ PyDict_SetItem(pydata, key, Py_BuildValue("s", buffer));
+ return 0;
+}
+
int catsprintf(char *buf, const char *format, ...) {
if(format == NULL) {
bzero(buf, strlen(buf));