aboutsummaryrefslogtreecommitdiff
path: root/library.c
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2012-04-15 04:28:31 +0200
committerPetr Machata <pmachata@redhat.com>2012-04-19 01:38:05 +0200
commite8d9076a97f6617868466a99bd18e11e3f6389ac (patch)
tree530d2a1097ae4cdc33615387c2e0f2264f4f4644 /library.c
parent4572877d0dd0b5060f4498e705467eaef51c6459 (diff)
downloadltrace-e8d9076a97f6617868466a99bd18e11e3f6389ac.tar.gz
library_symbol_init may fail
Diffstat (limited to 'library.c')
-rw-r--r--library.c21
1 files changed, 16 insertions, 5 deletions
diff --git a/library.c b/library.c
index b9492cb..66c90eb 100644
--- a/library.c
+++ b/library.c
@@ -71,9 +71,10 @@ strdup_if_owned(const char **retp, const char *str, int owned)
}
void
-library_symbol_init(struct library_symbol *libsym,
- target_address_t addr, const char *name, int own_name,
- enum toplt type_of_plt)
+private_library_symbol_init(struct library_symbol *libsym,
+ target_address_t addr,
+ const char *name, int own_name,
+ enum toplt type_of_plt)
{
libsym->next = NULL;
libsym->lib = NULL;
@@ -83,6 +84,16 @@ library_symbol_init(struct library_symbol *libsym,
libsym->enter_addr = (void *)(uintptr_t)addr;
}
+int
+library_symbol_init(struct library_symbol *libsym,
+ target_address_t addr, const char *name, int own_name,
+ enum toplt type_of_plt)
+{
+ private_library_symbol_init(libsym, addr, name, own_name, type_of_plt);
+ return 0;
+
+}
+
void
library_symbol_destroy(struct library_symbol *libsym)
{
@@ -97,8 +108,8 @@ library_symbol_clone(struct library_symbol *retp, struct library_symbol *libsym)
if (strdup_if_owned(&name, libsym->name, libsym->own_name) < 0)
return -1;
- library_symbol_init(retp, libsym->enter_addr,
- name, libsym->own_name, libsym->plt_type);
+ private_library_symbol_init(retp, libsym->enter_addr,
+ name, libsym->own_name, libsym->plt_type);
return 0;
}