summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dtrace/dtrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/dtrace/dtrace.c')
-rw-r--r--usr/src/cmd/dtrace/dtrace.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/usr/src/cmd/dtrace/dtrace.c b/usr/src/cmd/dtrace/dtrace.c
index f005629fc9..9ca412ab67 100644
--- a/usr/src/cmd/dtrace/dtrace.c
+++ b/usr/src/cmd/dtrace/dtrace.c
@@ -32,6 +32,7 @@
#include <sys/stat.h>
#include <sys/wait.h>
+#include <ctype.h>
#include <dtrace.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -737,7 +738,7 @@ compile_str(dtrace_cmd_t *dcp)
dcp->dc_spec, g_cflags | DTRACE_C_PSPEC, g_argc, g_argv)) == NULL)
dfatal("invalid probe specifier %s", dcp->dc_arg);
- if ((p = strpbrk(dcp->dc_arg, "{/;")) != NULL)
+ if ((p = strpbrk(dcp->dc_arg, "{/; ")) != NULL)
*p = '\0'; /* crop name for reporting */
dcp->dc_desc = "description";
@@ -1157,6 +1158,14 @@ intr(int signo)
g_impatient = 1;
}
+static char *
+skip_leading_spaces(char *s)
+{
+ while (isspace(*s))
+ s++;
+ return (s);
+}
+
int
main(int argc, char *argv[])
{
@@ -1409,7 +1418,7 @@ main(int argc, char *argv[])
dcp = &g_cmdv[g_cmdc++];
dcp->dc_func = compile_str;
dcp->dc_spec = DTRACE_PROBESPEC_FUNC;
- dcp->dc_arg = optarg;
+ dcp->dc_arg = skip_leading_spaces(optarg);
break;
case 'F':
@@ -1426,7 +1435,7 @@ main(int argc, char *argv[])
dcp = &g_cmdv[g_cmdc++];
dcp->dc_func = compile_str;
dcp->dc_spec = DTRACE_PROBESPEC_NAME;
- dcp->dc_arg = optarg;
+ dcp->dc_arg = skip_leading_spaces(optarg);
break;
case 'I':
@@ -1443,21 +1452,21 @@ main(int argc, char *argv[])
dcp = &g_cmdv[g_cmdc++];
dcp->dc_func = compile_str;
dcp->dc_spec = DTRACE_PROBESPEC_MOD;
- dcp->dc_arg = optarg;
+ dcp->dc_arg = skip_leading_spaces(optarg);
break;
case 'n':
dcp = &g_cmdv[g_cmdc++];
dcp->dc_func = compile_str;
dcp->dc_spec = DTRACE_PROBESPEC_NAME;
- dcp->dc_arg = optarg;
+ dcp->dc_arg = skip_leading_spaces(optarg);
break;
case 'P':
dcp = &g_cmdv[g_cmdc++];
dcp->dc_func = compile_str;
dcp->dc_spec = DTRACE_PROBESPEC_PROVIDER;
- dcp->dc_arg = optarg;
+ dcp->dc_arg = skip_leading_spaces(optarg);
break;
case 'q':