Fix a bug with processing the options to the program
being measured were consumed as options to task itself.
For example:
task -e PM_RUN_CYC /bin/ls -l
was being interpreted by getopt() as:
task -e PM_RUN_CYC -l /bin/ls
and task didn't understand the -l option.
According to the getopt() man page, a '+' can be inserted at the
front of the options processing string so that option processing
will stop at the first non-option, instead of looking for options
past that point. Adding this '+' fixed the above problem.
---
perf_examples/task.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/perf_examples/task.c b/perf_examples/task.c
index 35ba0b8..7cbe502 100644
--- a/perf_examples/task.c
+++ b/perf_examples/task.c
@@ -353,7 +353,7 @@ main(int argc, char **argv)
setlocale(LC_ALL, "");
- while ((c=getopt(argc, argv,"he:ifpPt:")) != -1) {
+ while ((c=getopt(argc, argv,"+he:ifpPt:")) != -1) {
switch(c) {
case 'e':
if (options.num_groups < MAX_GROUPS) {
--
1.7.0.4
------------------------------------------------------------------------------
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel