From 101070880e270118aa1f3992e2734a667dde575e Mon Sep 17 00:00:00 2001 From: David Sommerseth Date: Fri, 8 Jan 2010 19:26:58 +0100 Subject: More fprintf() -> log_append() porting --- src/dmidecode.c | 24 ++++++++++++------------ src/dmidecode.h | 5 +++-- src/dmidecodemodule.h | 8 ++++---- src/efi.c | 6 ++++-- src/efi.h | 2 +- src/util.c | 22 ++++++++++------------ src/util.h | 3 ++- 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 #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 #include #include + +#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 #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); -- cgit