diff options
Diffstat (limited to 'trace-stack.c')
-rw-r--r-- | trace-stack.c | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/trace-stack.c b/trace-stack.c index 3d9f392..24ba194 100644 --- a/trace-stack.c +++ b/trace-stack.c | |||
@@ -153,6 +153,10 @@ static void read_trace(void) | |||
153 | fclose(fp); | 153 | fclose(fp); |
154 | } | 154 | } |
155 | 155 | ||
156 | #define OPT_start 255 | ||
157 | #define OPT_stop 254 | ||
158 | #define OPT_reset 253 | ||
159 | |||
156 | void trace_stack (int argc, char **argv) | 160 | void trace_stack (int argc, char **argv) |
157 | { | 161 | { |
158 | enum stack_type trace_type = STACK_REPORT; | 162 | enum stack_type trace_type = STACK_REPORT; |
@@ -167,9 +171,9 @@ void trace_stack (int argc, char **argv) | |||
167 | for (;;) { | 171 | for (;;) { |
168 | int option_index = 0; | 172 | int option_index = 0; |
169 | static struct option long_options[] = { | 173 | static struct option long_options[] = { |
170 | {"start", no_argument, NULL, 0}, | 174 | {"start", no_argument, NULL, OPT_start}, |
171 | {"stop", no_argument, NULL, 0}, | 175 | {"stop", no_argument, NULL, OPT_stop}, |
172 | {"reset", no_argument, NULL, 0}, | 176 | {"reset", no_argument, NULL, OPT_reset}, |
173 | {"help", no_argument, NULL, '?'}, | 177 | {"help", no_argument, NULL, '?'}, |
174 | {NULL, 0, NULL, 0} | 178 | {NULL, 0, NULL, 0} |
175 | }; | 179 | }; |
@@ -183,20 +187,14 @@ void trace_stack (int argc, char **argv) | |||
183 | case 'h': | 187 | case 'h': |
184 | usage(argv); | 188 | usage(argv); |
185 | break; | 189 | break; |
186 | case 0: | 190 | case OPT_start: |
187 | switch(option_index) { | 191 | trace_type = STACK_START; |
188 | case 0: | 192 | break; |
189 | trace_type = STACK_START; | 193 | case OPT_stop: |
190 | break; | 194 | trace_type = STACK_STOP; |
191 | case 1: | 195 | break; |
192 | trace_type = STACK_STOP; | 196 | case OPT_reset: |
193 | break; | 197 | trace_type = STACK_RESET; |
194 | case 2: | ||
195 | trace_type = STACK_RESET; | ||
196 | break; | ||
197 | default: | ||
198 | usage(argv); | ||
199 | } | ||
200 | break; | 198 | break; |
201 | default: | 199 | default: |
202 | usage(argv); | 200 | usage(argv); |