Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge changes made in portals/linux/utils/parser.c into lustre/utils/parser.c
[fs/lustre-release.git]
/
lustre
/
utils
/
parser.c
diff --git
a/lustre/utils/parser.c
b/lustre/utils/parser.c
index
6d26bc3
..
fc22ba7
100644
(file)
--- a/
lustre/utils/parser.c
+++ b/
lustre/utils/parser.c
@@
-96,25
+96,13
@@
static int line2args(char *line, char **argv, int maxargs)
}
/* find a command -- return it if unique otherwise print alternatives */
}
/* find a command -- return it if unique otherwise print alternatives */
-
static command_t *Parser_findargcmd(char *name, command_t cmds[])
{
command_t *cmd;
static command_t *Parser_findargcmd(char *name, command_t cmds[])
{
command_t *cmd;
- int i;
-
- for (i = 0; cmds[i].pc_name; i++) {
- cmd = &cmds[i];
-
- if (strlen(name) != strlen(cmd->pc_name))
- continue;
-
- if (strlen(name) == strlen(cmd->pc_name)) {
- if (strcmp(name, cmd->pc_name) == 0)
- return cmd;
- else
- continue;
- }
+ for (cmd = cmds; cmd->pc_name; cmd++) {
+ if (strcmp(name, cmd->pc_name) == 0)
+ return cmd;
}
return NULL;
}
}
return NULL;
}
@@
-122,18
+110,15
@@
static command_t *Parser_findargcmd(char *name, command_t cmds[])
int Parser_execarg(int argc, char **argv, command_t cmds[])
{
command_t *cmd;
int Parser_execarg(int argc, char **argv, command_t cmds[])
{
command_t *cmd;
- int i;
cmd = Parser_findargcmd(argv[0], cmds);
if ( cmd ) {
return (cmd->pc_func)(argc, argv);
} else {
cmd = Parser_findargcmd(argv[0], cmds);
if ( cmd ) {
return (cmd->pc_func)(argc, argv);
} else {
- printf("Try interactive use without arguments or use one of: ");
- for (i=0 ; cmds[i].pc_name ; i++) {
- cmd = &cmds[i];
+ printf("Try interactive use without arguments or use one of:\n");
+ for (cmd = cmds; cmd->pc_name; cmd++)
printf("\"%s\" ", cmd->pc_name);
printf("\"%s\" ", cmd->pc_name);
- }
- printf("as argument.\n");
+ printf("\nas argument.\n");
}
return -1;
}
}
return -1;
}
@@
-281,12
+266,12
@@
int execute_line(char * line)
rc = (cmd->pc_func)(i, argv);
break;
}
rc = (cmd->pc_func)(i, argv);
break;
}
-
+
return rc;
}
/* this is the command execution machine */
return rc;
}
/* this is the command execution machine */
-int Parser_commands(void)
+int Parser_commands(void)
{
char *line, *s;
int rc = 0;
{
char *line, *s;
int rc = 0;
@@
-294,10
+279,9
@@
int Parser_commands(void)
using_history();
stifle_history(HISTORY);
using_history();
stifle_history(HISTORY);
- rl_attempted_completion_function =
- (CPPFunction *)command_completion;
+ rl_attempted_completion_function = (CPPFunction *)command_completion;
rl_completion_entry_function = (void *)command_generator;
rl_completion_entry_function = (void *)command_generator;
-
+
while(!done) {
line = readline(parser_prompt);
while(!done) {
line = readline(parser_prompt);
@@
-351,11
+335,10
@@
int Parser_int(char *s, int *val)
}
}
-
void Parser_qhelp(int argc, char *argv[]) {
printf("Available commands are:\n");
void Parser_qhelp(int argc, char *argv[]) {
printf("Available commands are:\n");
-
+
print_commands(NULL, top_level);
printf("For more help type: help command-name\n");
}
print_commands(NULL, top_level);
printf("For more help type: help command-name\n");
}
@@
-575,7
+558,6
@@
long Parser_intarg(const char *inp, const char *prompt, int deft,
char *Parser_strarg(char *inp, const char *prompt, const char *deft,
char *answer, int len)
{
char *Parser_strarg(char *inp, const char *prompt, const char *deft,
char *answer, int len)
{
-
if ( inp == NULL || *inp == '\0' ) {
return Parser_getstr(prompt, deft, answer, len);
} else
if ( inp == NULL || *inp == '\0' ) {
return Parser_getstr(prompt, deft, answer, len);
} else
@@
-603,6
+585,6
@@
int Parser_quit(int argc, char **argv)
{
argc = argc;
argv = argv;
{
argc = argc;
argv = argv;
- done = 1;
+ done = 1;
return 0;
}
return 0;
}