summaryrefslogtreecommitdiffstats
path: root/src/symbol.c
diff options
context:
space:
mode:
authorjolsa@redhat.com <jolsa@redhat.com>2011-06-20 16:14:11 +0200
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-11-24 21:20:27 +0100
commitd4d4ddd698f1378649e33aa58b7e3b687a2e6c3d (patch)
treee3748aa5978ca912c964f4f50defe3b3b4740a52 /src/symbol.c
parent2d6cc3704e7affeb56c798b39a942daca95385dc (diff)
downloadlatrace-d4d4ddd698f1378649e33aa58b7e3b687a2e6c3d.tar.gz
latrace-d4d4ddd698f1378649e33aa58b7e3b687a2e6c3d.tar.xz
latrace-d4d4ddd698f1378649e33aa58b7e3b687a2e6c3d.zip
error simulation: library part
Diffstat (limited to 'src/symbol.c')
-rw-r--r--src/symbol.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/symbol.c b/src/symbol.c
index f10045a..707fbf6 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -74,14 +74,19 @@ static int symbol_init(struct lt_config_shared *cfg,
struct lt_symbol *sym, const char *name)
{
struct lt_args_sym *a = NULL;
+ struct lt_error_sym *e = NULL;
- if (lt_sh(cfg, args_enabled)) {
+ if (lt_sh(cfg, args_enabled))
a = lt_args_sym_get(cfg, name);
- if (!a)
- return -1;
- }
- sym->args = a;
+ if (lt_sh(cfg, error_sim))
+ e = lt_error_sym_get(cfg, name);
+
+ if (!a && !e)
+ return -1;
+
+ sym->args = a;
+ sym->error = e;
PRINT_VERBOSE(cfg, 1, "ok name %s, ptr %p, sym %p\n",
name, sym->ptr, sym);