Cleanup: add `#include <stdbool.h>` whenever `bool` type is used
[babeltrace.git] / src / plugins / lttng-utils / debug-info / bin-info.c
index 3d46a54f2ee9afd205ddea386e0ff55347d43640..72eb818932abe0768ec5605bec71c68571356143 100644 (file)
@@ -29,7 +29,7 @@
 #define BT_COMP_LOG_SELF_COMP (bin->self_comp)
 #define BT_LOG_OUTPUT_LEVEL (bin->log_level)
 #define BT_LOG_TAG "PLUGIN/FLT.LTTNG-UTILS.DEBUG-INFO/BIN-INFO"
-#include "plugins/comp-logging.h"
+#include "logging/comp-logging.h"
 
 #include <babeltrace2/logging.h>
 #include <dwarf.h>
@@ -38,6 +38,7 @@
 #include <inttypes.h>
 #include <libgen.h>
 #include <math.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -163,10 +164,9 @@ int bin_info_set_elf_file(struct bin_info *bin)
 {
        struct bt_fd_cache_handle *elf_handle = NULL;
        Elf *elf_file = NULL;
+       int ret;
 
-       if (!bin) {
-               goto error;
-       }
+       BT_ASSERT(bin);
 
        elf_handle = bt_fd_cache_get_handle(bin->fd_cache, bin->elf_path);
        if (!elf_handle) {
@@ -178,23 +178,30 @@ int bin_info_set_elf_file(struct bin_info *bin)
        elf_file = elf_begin(bt_fd_cache_handle_get_fd(bin->elf_handle),
                ELF_C_READ, NULL);
        if (!elf_file) {
-               BT_COMP_LOGE("elf_begin failed: %s", elf_errmsg(-1));
+               BT_COMP_LOGE_APPEND_CAUSE(bin->self_comp,
+                       "elf_begin failed: %s", elf_errmsg(-1));
                goto error;
        }
 
        bin->elf_file = elf_file;
 
        if (elf_kind(elf_file) != ELF_K_ELF) {
-               BT_COMP_LOGE("Error: %s is not an ELF object", bin->elf_path);
+               BT_COMP_LOGE_APPEND_CAUSE(bin->self_comp,
+                       "Error: %s is not an ELF object", bin->elf_path);
                goto error;
        }
 
-       return 0;
+
+       ret = 0;
+       goto end;
 
 error:
        bt_fd_cache_put_handle(bin->fd_cache, elf_handle);
        elf_end(elf_file);
-       return -1;
+       ret = -1;
+
+end:
+       return ret;
 }
 
 /**
@@ -488,7 +495,9 @@ int bin_info_set_dwarf_info_from_path(struct bin_info *bin, char *path)
        return 0;
 
 error:
-       bt_fd_cache_put_handle(bin->fd_cache, dwarf_handle);
+       if (bin) {
+               bt_fd_cache_put_handle(bin->fd_cache, dwarf_handle);
+       }
        dwarf_end(dwarf_info);
        g_free(dwarf_info);
        free(cu);
This page took 0.024737 seconds and 4 git commands to generate.