summaryrefslogtreecommitdiffstats
path: root/src/config.c
diff options
context:
space:
mode:
authorJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-06-10 13:44:25 +0200
committerJiri Olsa <Jiri Olsa jolsa@redhat.com>2011-06-17 13:00:06 +0200
commitd07b36b6bb898666c313b6d3708aee82d5b80550 (patch)
tree9269600e3acb59f712daa2530b10c1cb7617e24a /src/config.c
parent73ae529a915c6445d5cf0a43f8cba140d7d79e83 (diff)
downloadlatrace-d07b36b6bb898666c313b6d3708aee82d5b80550.tar.gz
latrace-d07b36b6bb898666c313b6d3708aee82d5b80550.tar.xz
latrace-d07b36b6bb898666c313b6d3708aee82d5b80550.zip
args: Aadd support to display string pointer and length
Add ARGS_STRING_POINTER_LENGTH option. It allows to display pointer value and string length for "char *" arguments.
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c
index 20eaa45..bd60c53 100644
--- a/src/config.c
+++ b/src/config.c
@@ -325,6 +325,14 @@ static int process_option_val(struct lt_config_app *cfg, int idx,
lt_sh(cfg, symbols_noexit));
break;
+ case LT_OPT_ARGS_STRING_POINTER_LENGTH:
+ CHECK_BOOL(val, sval, ival);
+ lt_sh(cfg, args_string_pointer_length) = val;
+
+ PRINT_VERBOSE(cfg, 1, "ARGS_STRING_POINTER_LENGTH %d\n",
+ lt_sh(cfg, args_detailed));
+ break;
+
default:
return -1;
}
@@ -351,7 +359,8 @@ int lt_config_opt_process(struct lt_config_app *cfg, struct lt_list_head *list)
return 0;
}
-struct lt_config_opt *lt_config_opt_new(int idx, char *sval, long nval)
+struct lt_config_opt *lt_config_opt_new(struct lt_config_app *cfg,
+ int idx, char *sval, long nval)
{
struct lt_config_opt *opt;
@@ -364,6 +373,8 @@ struct lt_config_opt *lt_config_opt_new(int idx, char *sval, long nval)
opt->sval = sval ? strdup(sval) : NULL;
opt->nval = nval;
+ PRINT_VERBOSE(cfg, 1, "idx %d = %s, %d\n",
+ opt->idx, opt->sval , opt->nval);
return opt;
}