summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Sommerseth <davids@redhat.com>2010-01-08 19:26:58 +0100
committerDavid Sommerseth <davids@redhat.com>2010-01-08 19:26:58 +0100
commit101070880e270118aa1f3992e2734a667dde575e (patch)
tree131b0bf9d37c6a8062f210fe622bbd2a679426ac
parent2d69406de843db678c84cb397afab03e0573c468 (diff)
downloadpython-dmidecode-101070880e270118aa1f3992e2734a667dde575e.tar.gz
python-dmidecode-101070880e270118aa1f3992e2734a667dde575e.tar.xz
python-dmidecode-101070880e270118aa1f3992e2734a667dde575e.zip
More fprintf() -> log_append() porting
-rw-r--r--src/dmidecode.c24
-rw-r--r--src/dmidecode.h5
-rw-r--r--src/dmidecodemodule.h8
-rw-r--r--src/efi.c6
-rw-r--r--src/efi.h2
-rw-r--r--src/util.c22
-rw-r--r--src/util.h3
7 files changed, 36 insertions, 34 deletions
diff --git a/src/dmidecode.c b/src/dmidecode.c
index 704294b..0fd8f1b 100644
--- a/src/dmidecode.c
+++ b/src/dmidecode.c
@@ -4842,7 +4842,7 @@ dmi_codes_major *find_dmiMajor(const struct dmi_header *h)
return NULL;
}
-static void dmi_table(int type, u32 base, u16 len, u16 num, u16 ver, const char *devmem, xmlNode *xmlnode)
+static void dmi_table(Log_t *logp, int type, u32 base, u16 len, u16 num, u16 ver, const char *devmem, xmlNode *xmlnode)
{
u8 *buf;
u8 *data;
@@ -4865,10 +4865,10 @@ static void dmi_table(int type, u32 base, u16 len, u16 num, u16 ver, const char
info_n = NULL;
}
- if((buf = mem_chunk(base, len, devmem)) == NULL) {
- fprintf(stderr, "Table is unreachable, sorry."
+ if((buf = mem_chunk(logp, base, len, devmem)) == NULL) {
+ log_append(logp, LOG_WARNING, "Table is unreachable, sorry."
#ifndef USE_MMAP
- "Try compiling dmidecode with -DUSE_MMAP.";
+ "Try compiling dmidecode with -DUSE_MMAP."
#endif
"\n");
return;
@@ -4889,7 +4889,7 @@ static void dmi_table(int type, u32 base, u16 len, u16 num, u16 ver, const char
** table is broken.
*/
if(h.length < 4) {
- fprintf(stderr, "Invalid entry length (%i). DMI table is broken! Stop.",
+ log_append(logp, LOG_WARNING, "Invalid entry length (%i). DMI table is broken! Stop.",
(unsigned int)h.length);
break;
}
@@ -4955,10 +4955,10 @@ static void dmi_table(int type, u32 base, u16 len, u16 num, u16 ver, const char
}
if(i != num)
- fprintf(stderr, "Wrong DMI structures count: %d announced, only %d decoded.\n", num,
- i);
+ log_append(logp, LOG_WARNING,
+ "Wrong DMI structures count: %d announced, only %d decoded.\n", num, i);
if(data - buf != len)
- fprintf(stderr,
+ log_append(logp, LOG_WARNING,
"Wrong DMI structures length: %d bytes announced, structures occupy %d bytes.\n",
len, (unsigned int)(data - buf));
@@ -5017,7 +5017,7 @@ xmlNode *smbios_decode_get_version(u8 * buf, const char *devmem)
return data_n;
}
-int smbios_decode(int type, u8 *buf, const char *devmem, xmlNode *xmlnode)
+int smbios_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *xmlnode)
{
int check = _smbios_decode_check(buf);
@@ -5033,7 +5033,7 @@ int smbios_decode(int type, u8 *buf, const char *devmem, xmlNode *xmlnode)
break;
}
//printf(">>%d @ %d, %d<<\n", DWORD(buf+0x18), WORD(buf+0x16), WORD(buf+0x1C));
- dmi_table(type, DWORD(buf + 0x18), WORD(buf + 0x16), WORD(buf + 0x1C), ver, devmem,
+ dmi_table(logp, type, DWORD(buf + 0x18), WORD(buf + 0x16), WORD(buf + 0x1C), ver, devmem,
xmlnode);
}
return check;
@@ -5072,12 +5072,12 @@ xmlNode *legacy_decode_get_version(u8 * buf, const char *devmem)
return data_n;
}
-int legacy_decode(int type, u8 *buf, const char *devmem, xmlNode *xmlnode)
+int legacy_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *xmlnode)
{
int check = _legacy_decode_check(buf);
if(check == 1)
- dmi_table(type, DWORD(buf + 0x08), WORD(buf + 0x06), WORD(buf + 0x0C),
+ dmi_table(logp, type, DWORD(buf + 0x08), WORD(buf + 0x06), WORD(buf + 0x0C),
((buf[0x0E] & 0xF0) << 4) + (buf[0x0E] & 0x0F), devmem, xmlnode);
return check;
}
diff --git a/src/dmidecode.h b/src/dmidecode.h
index 10412c6..926bd5d 100644
--- a/src/dmidecode.h
+++ b/src/dmidecode.h
@@ -21,6 +21,7 @@
#include <libxml/tree.h>
#include "dmihelper.h"
+#include "dmierror.h"
struct dmi_header {
u8 type;
@@ -35,8 +36,8 @@ void to_dmi_header(struct dmi_header *h, u8 * data);
xmlNode *smbios_decode_get_version(u8 * buf, const char *devmem);
xmlNode *legacy_decode_get_version(u8 * buf, const char *devmem);
-int smbios_decode(int type, u8 *buf, const char *devmem, xmlNode *xmlnode);
-int legacy_decode(int type, u8 *buf, const char *devmem, xmlNode *xmlnode);
+int smbios_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *xmlnode);
+int legacy_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *xmlnode);
const char *dmi_string(const struct dmi_header *dm, u8 s);
void dmi_system_uuid(xmlNode *node, const u8 * p, u16 ver);
diff --git a/src/dmidecodemodule.h b/src/dmidecodemodule.h
index c0be3a1..3600ba9 100644
--- a/src/dmidecodemodule.h
+++ b/src/dmidecodemodule.h
@@ -66,12 +66,12 @@
xmlNode *dmidecode_get_version(options *);
extern void dmi_dump(xmlNode *node, struct dmi_header *h);
-extern int address_from_efi(size_t * address);
+extern int address_from_efi(Log_t *logp, size_t * address);
extern void to_dmi_header(struct dmi_header *h, u8 * data);
-extern int smbios_decode(int type, u8 *buf, const char *devmem, xmlNode *node);
-extern int legacy_decode(int type, u8 *buf, const char *devmem, xmlNode *node);
+extern int smbios_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *node);
+extern int legacy_decode(Log_t *logp, int type, u8 *buf, const char *devmem, xmlNode *node);
extern xmlNode *smbios_decode_get_version(u8 * buf, const char *devmem);
extern xmlNode *legacy_decode_get_version(u8 * buf, const char *devmem);
-extern void *mem_chunk(size_t base, size_t len, const char *devmem);
+extern void *mem_chunk(Log_t *logp, size_t base, size_t len, const char *devmem);
PyMODINIT_FUNC initdmidecode(void);
diff --git a/src/efi.c b/src/efi.c
index 8c38e38..af0a813 100644
--- a/src/efi.c
+++ b/src/efi.c
@@ -28,6 +28,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#include "dmilog.h"
#include "efi.h"
/**
@@ -42,7 +44,7 @@
* @param size_t*
* @return returns EFI_NOT_FOUND or EFI_NO_SMBIOS
*/
-int address_from_efi(size_t * address)
+int address_from_efi(Log_t *logp, size_t * address)
{
FILE *efi_systab;
const char *filename = NULL;
@@ -75,7 +77,7 @@ int address_from_efi(size_t * address)
perror(filename);
if(ret == EFI_NO_SMBIOS)
- fprintf(stderr, "%s: SMBIOS entry point missing\n", filename);
+ log_append(logp, LOG_WARNING, "%s: SMBIOS entry point missing\n", filename);
return ret;
}
diff --git a/src/efi.h b/src/efi.h
index 240fb01..dc03834 100644
--- a/src/efi.h
+++ b/src/efi.h
@@ -30,6 +30,6 @@
#define EFI_NOT_FOUND (-1)
#define EFI_NO_SMBIOS (-2)
-int address_from_efi(size_t * address);
+int address_from_efi(Log_t *logp, size_t * address);
#endif
diff --git a/src/util.c b/src/util.c
index 9bd86c5..ba1a89a 100644
--- a/src/util.c
+++ b/src/util.c
@@ -47,9 +47,10 @@
#include "types.h"
#include "util.h"
+#include "dmilog.h"
#ifndef USE_MMAP
-static int myread(int fd, u8 * buf, size_t count, const char *prefix)
+static int myread(Log_t *logp, int fd, u8 * buf, size_t count, const char *prefix)
{
ssize_t r = 1;
size_t r2 = 0;
@@ -68,7 +69,7 @@ static int myread(int fd, u8 * buf, size_t count, const char *prefix)
if(r2 != count) {
close(fd);
- fprintf(stderr, "%s: Unexpected end of file\n", prefix);
+ log_append(logp, LOG_WARNING, "%s: Unexpected end of file\n", prefix);
return -1;
}
@@ -90,7 +91,7 @@ int checksum(const u8 * buf, size_t len)
* Copy a physical memory chunk into a memory buffer.
* This function allocates memory.
*/
-void *mem_chunk(size_t base, size_t len, const char *devmem)
+void *mem_chunk(Log_t *logp, size_t base, size_t len, const char *devmem)
{
void *p;
int fd;
@@ -101,12 +102,12 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
#endif
if((fd = open(devmem, O_RDONLY)) == -1) {
- perror(devmem);
+ log_append(logp, LOG_WARNING, "%s: %s", devmem, strerror(errno));
return NULL;
}
if((p = malloc(len)) == NULL) {
- perror("malloc");
+ log_append(logp, LOG_WARNING, "malloc: %s", strerror(errno));
return NULL;
}
#ifdef USE_MMAP
@@ -122,8 +123,7 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
*/
mmp = mmap(0, mmoffset + len, PROT_READ, MAP_SHARED, fd, base - mmoffset);
if(mmp == MAP_FAILED) {
- fprintf(stderr, "%s: ", devmem);
- perror("mmap");
+ log_append(logp, LOG_WARNING, "%s (mmap): %s", devmem, strerror(errno));
free(p);
return NULL;
}
@@ -131,18 +131,16 @@ void *mem_chunk(size_t base, size_t len, const char *devmem)
memcpy(p, (u8 *) mmp + mmoffset, len);
if(munmap(mmp, mmoffset + len) == -1) {
- fprintf(stderr, "%s: ", devmem);
- perror("munmap");
+ log_append(logp, LOG_WARNING, "%s (munmap): %s", devmem, strerror(errno));
}
#else /* USE_MMAP */
if(lseek(fd, base, SEEK_SET) == -1) {
- fprintf(stderr, "%s: ", devmem);
- perror("lseek");
+ log_append(logp, LOG_WARNING, "%s (lseek): %s", devmem, strerror(errno));
free(p);
return NULL;
}
- if(myread(fd, p, len, devmem) == -1) {
+ if(myread(logp, fd, p, len, devmem) == -1) {
free(p);
return NULL;
}
diff --git a/src/util.h b/src/util.h
index 3effd0c..a93af6b 100644
--- a/src/util.h
+++ b/src/util.h
@@ -22,9 +22,10 @@
#include <sys/types.h>
#include "types.h"
+#include "dmilog.h"
#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
int checksum(const u8 * buf, size_t len);
-void *mem_chunk(size_t base, size_t len, const char *devmem);
+void *mem_chunk(Log_t *logp, size_t base, size_t len, const char *devmem);
int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add);