[ofa-general] Re: [IBSIM] Parse sim cmds by name not first character
Sasha Khapyorsky
sashak at voltaire.com
Tue Aug 19 12:13:33 PDT 2008
On 17:39 Mon 18 Aug , Al Chu wrote:
> From 8a1f05b353469054564da75663e3a95744a1f8ec Mon Sep 17 00:00:00 2001
> From: Albert Chu <chu11 at llnl.gov>
> Date: Wed, 13 Aug 2008 13:53:14 -0700
> Subject: [PATCH] parse sim cmds via full name
>
>
> Signed-off-by: Albert Chu <chu11 at llnl.gov>
Applied. Thanks.
When testing this, I paid attention that originally "#" command was
used for printing line. Frankly I have no idea why it was needed, but put
it back anyway. Also some flow simplification. Looks fine for you?
Sasha
>From aa5ee3a71a4b3bd39e0d258614be7db6f1d640a6 Mon Sep 17 00:00:00 2001
From: Sasha Khapyorsky <sashak at voltaire.com>
Date: Tue, 19 Aug 2008 22:06:50 +0300
Subject: [PATCH] ibsim/sim_cmd: consolidate flows
Consolidate and simplify flow. Return back line printing on '#' command.
Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
---
ibsim/sim_cmd.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/ibsim/sim_cmd.c b/ibsim/sim_cmd.c
index 4d70517..d55fb4c 100644
--- a/ibsim/sim_cmd.c
+++ b/ibsim/sim_cmd.c
@@ -762,16 +762,14 @@ int do_cmd(char *buf, FILE *f)
for (line = buf; *line && isspace(*line); line++) ;
- /* special cases */
- if (*line == '!')
- r = sim_cmd_file(f, line);
- else if (*line == '#' || *line == '\n' || *line == '\0')
- goto out;
-
while (!isspace(line[cmd_len]))
cmd_len++;
- if (!strncasecmp(line, "Dump", cmd_len))
+ if (*line == '#')
+ fprintf(f, line);
+ else if (*line == '!')
+ r = sim_cmd_file(f, line);
+ else if (!strncasecmp(line, "Dump", cmd_len))
r = dump_net(f, line);
else if (!strncasecmp(line, "Route", cmd_len))
r = dump_route(f, line);
@@ -816,14 +814,8 @@ int do_cmd(char *buf, FILE *f)
*
* please specify new command support below this comment.
*/
- else {
- char cmdbuf[cmd_len+1];
-
- memset(cmdbuf, '\0', cmd_len+1);
- strncpy(cmdbuf, line, cmd_len);
+ else if (*line != '\n' && *line != '\0')
+ fprintf(f, "command \'%s\' unknown - skipped\n", line);
- fprintf(f, "command %s unknown - skipped\n", cmdbuf);
- }
-out:
return r;
}
--
1.5.4.rc2.60.gb2e62
More information about the general
mailing list