LibElf: Build the error management code in libelf.

This change makes some minor changes to get the error management code in
libelf to build on Linux and to build it into the library.
This commit is contained in:
Gabe Black 2011-06-12 23:51:59 -07:00
parent 1aa4869ff0
commit 7bc68151b7
3 changed files with 6 additions and 3 deletions

View file

@ -40,6 +40,8 @@ ElfFile('elf_begin.c')
ElfFile('elf_cntl.c') ElfFile('elf_cntl.c')
ElfFile('elf_data.c') ElfFile('elf_data.c')
ElfFile('elf_end.c') ElfFile('elf_end.c')
ElfFile('elf_errmsg.c')
ElfFile('elf_errno.c')
ElfFile('elf_fill.c') ElfFile('elf_fill.c')
ElfFile('elf_flag.c') ElfFile('elf_flag.c')
ElfFile('elf_getarhdr.c') ElfFile('elf_getarhdr.c')

View file

@ -30,6 +30,7 @@
#define __LIBELF_H_ #define __LIBELF_H_
#include "elf_queue.h" #include "elf_queue.h"
#include "libelf.h"
#ifndef NULL #ifndef NULL
#define NULL ((void *) 0) #define NULL ((void *) 0)

View file

@ -71,10 +71,10 @@ elf_errmsg(int error)
if (error < 0 || error >= ELF_E_NUM) if (error < 0 || error >= ELF_E_NUM)
return _libelf_errors[ELF_E_NUM]; return _libelf_errors[ELF_E_NUM];
if (oserr) { if (oserr) {
strlcpy(LIBELF_PRIVATE(msg), _libelf_errors[error], strncpy(LIBELF_PRIVATE(msg), _libelf_errors[error],
sizeof(LIBELF_PRIVATE(msg))); sizeof(LIBELF_PRIVATE(msg)));
strlcat(LIBELF_PRIVATE(msg), ": ", sizeof(LIBELF_PRIVATE(msg))); strncat(LIBELF_PRIVATE(msg), ": ", sizeof(LIBELF_PRIVATE(msg)));
strlcat(LIBELF_PRIVATE(msg), strerror(oserr), strncat(LIBELF_PRIVATE(msg), strerror(oserr),
sizeof(LIBELF_PRIVATE(msg))); sizeof(LIBELF_PRIVATE(msg)));
return (const char *)&LIBELF_PRIVATE(msg); return (const char *)&LIBELF_PRIVATE(msg);
} }