system/trace: correct arg index if command is alreay set
An error occurs when the same command is executed twice $ trace switch + $ trace switch + Usage: trace <subcommand>... Subcommand: start [-c][<duration>] : Start task tracing stop : Stop task tracing dump [-a][-c][<filename>] : Output the trace result [-a] <Android SysTrace> mode [{+|-}{o|w|s|a|i|d}...] : Set task trace options switch [+|-] : Configure switch trace filter syscall [{+|-}<syscallname>...] : Configure syscall trace filter irq [{+|-}<irqnum>...] : Configure IRQ trace filter print [+|-] : Configure dump tnsh> Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
parent
8ce86fe572
commit
089c05cbd8
@ -501,13 +501,13 @@ static int trace_cmd_switch(int index, int argc, FAR char **argv,
|
|||||||
{
|
{
|
||||||
if (argv[index][0] == '-' || argv[index][0] == '+')
|
if (argv[index][0] == '-' || argv[index][0] == '+')
|
||||||
{
|
{
|
||||||
enable = (argv[index][0] == '+');
|
enable = (argv[index++][0] == '+');
|
||||||
if (enable ==
|
if (enable ==
|
||||||
((mode.flag & NOTE_FILTER_MODE_FLAG_SWITCH) != 0))
|
((mode.flag & NOTE_FILTER_MODE_FLAG_SWITCH) != 0))
|
||||||
{
|
{
|
||||||
/* Already set */
|
/* Already set */
|
||||||
|
|
||||||
return false;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enable)
|
if (enable)
|
||||||
@ -520,8 +520,6 @@ static int trace_cmd_switch(int index, int argc, FAR char **argv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ioctl(notectlfd, NOTECTL_SETMODE, (unsigned long)&mode);
|
ioctl(notectlfd, NOTECTL_SETMODE, (unsigned long)&mode);
|
||||||
|
|
||||||
index++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -754,13 +752,13 @@ static int trace_cmd_print(int index, int argc, FAR char **argv,
|
|||||||
{
|
{
|
||||||
if (argv[index][0] == '-' || argv[index][0] == '+')
|
if (argv[index][0] == '-' || argv[index][0] == '+')
|
||||||
{
|
{
|
||||||
enable = (argv[index][0] == '+');
|
enable = (argv[index++][0] == '+');
|
||||||
if (enable ==
|
if (enable ==
|
||||||
((mode.flag & NOTE_FILTER_MODE_FLAG_DUMP) != 0))
|
((mode.flag & NOTE_FILTER_MODE_FLAG_DUMP) != 0))
|
||||||
{
|
{
|
||||||
/* Already set */
|
/* Already set */
|
||||||
|
|
||||||
return false;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (enable)
|
if (enable)
|
||||||
@ -773,8 +771,6 @@ static int trace_cmd_print(int index, int argc, FAR char **argv,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ioctl(notectlfd, NOTECTL_SETMODE, (unsigned long)&mode);
|
ioctl(notectlfd, NOTECTL_SETMODE, (unsigned long)&mode);
|
||||||
|
|
||||||
index++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user