summaryrefslogtreecommitdiff
path: root/src/model/fromFile.c
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2013-05-24 01:07:45 +0100
committernorly <ny-git@enpas.org>2013-05-24 01:08:56 +0100
commitbac8986954899053330a952cb6e40d04ec1225b8 (patch)
tree0359885c1cb848b54489f8d8421d5c09edeea592 /src/model/fromFile.c
parent2e60e5b7733fbb99009421ca84a5e3cdc49e7fa7 (diff)
Cleaner error handling with ELFU_WARN and ELFU_WARNELF
Diffstat (limited to 'src/model/fromFile.c')
-rw-r--r--src/model/fromFile.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/model/fromFile.c b/src/model/fromFile.c
index 6e79867..fee6ec0 100644
--- a/src/model/fromFile.c
+++ b/src/model/fromFile.c
@@ -1,5 +1,4 @@
#include <assert.h>
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
@@ -35,7 +34,7 @@ static ElfuScn* modelFromSection(Elf_Scn *scn)
if (gelf_getshdr(scn, &ms->shdr) != &ms->shdr) {
- fprintf(stderr, "gelf_getshdr() failed: %s\n", elf_errmsg(-1));
+ ELFU_WARN("gelf_getshdr() failed: %s\n", elf_errmsg(-1));
goto out;
}
@@ -53,7 +52,7 @@ static ElfuScn* modelFromSection(Elf_Scn *scn)
ms->data.d_buf = malloc(ms->shdr.sh_size);
if (!ms->data.d_buf) {
- fprintf(stderr, "modelFromSection: Could not allocate data buffer (%jx bytes).\n", ms->shdr.sh_size);
+ ELFU_WARN("modelFromSection: Could not allocate data buffer (%jx bytes).\n", ms->shdr.sh_size);
goto out;
}
@@ -68,7 +67,7 @@ static ElfuScn* modelFromSection(Elf_Scn *scn)
while (data) {
if (data->d_off + data->d_size > ms->shdr.sh_size) {
- fprintf(stderr, "modelFromSection: libelf delivered a bogus data blob. Skipping\n");
+ ELFU_WARN("modelFromSection: libelf delivered a bogus data blob. Skipping\n");
} else {
memcpy(ms->data.d_buf + data->d_off, data->d_buf, data->d_size);
}
@@ -113,11 +112,11 @@ ElfuElf* elfu_mFromElf(Elf *e)
*/
me->elfclass = gelf_getclass(e);
if (me->elfclass == ELFCLASSNONE) {
- fprintf(stderr, "getclass() failed: %s\n", elf_errmsg(-1));
+ ELFU_WARNELF("getclass");
}
if (!gelf_getehdr(e, &me->ehdr)) {
- fprintf(stderr, "gelf_getehdr() failed: %s\n", elf_errmsg(-1));
+ ELFU_WARNELF("gelf_getehdr");
goto out;
}
@@ -149,7 +148,7 @@ ElfuElf* elfu_mFromElf(Elf *e)
* Segments
*/
if (elf_getphdrnum(e, &n)) {
- fprintf(stderr, "elf_getphdrnum() failed: %s\n", elf_errmsg(-1));
+ ELFU_WARNELF("elf_getphdrnum");
}
for (i = 0; i < n; i++) {
@@ -157,7 +156,7 @@ ElfuElf* elfu_mFromElf(Elf *e)
ElfuPhdr *mp;
if (gelf_getphdr(e, i, &phdr) != &phdr) {
- fprintf(stderr, "gelf_getphdr() failed for #%d: %s\n", i, elf_errmsg(-1));
+ ELFU_WARN("gelf_getphdr() failed for #%d: %s\n", i, elf_errmsg(-1));
break;
}