mirror of
git://sourceware.org/git/lvm2.git
synced 2025-02-24 17:57:48 +03:00
commands: coverity fixes
This commit is contained in:
parent
8c6b8e90e3
commit
5e6ea4b784
@ -711,7 +711,7 @@ static void set_opt_def(struct command *cmd, char *str, struct arg_def *def)
|
||||
* oo->line = "--opt1 ...";
|
||||
*/
|
||||
|
||||
static void add_oo_definition_line(struct command *cmd, const char *name, const char *line)
|
||||
static void add_oo_definition_line(const char *name, const char *line)
|
||||
{
|
||||
struct oo_line *oo;
|
||||
char *colon;
|
||||
@ -724,7 +724,6 @@ static void add_oo_definition_line(struct command *cmd, const char *name, const
|
||||
*colon = '\0';
|
||||
else {
|
||||
log_error("Parsing command defs: invalid OO definition");
|
||||
cmd->cmd_flags |= CMD_FLAG_PARSE_ERROR;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -734,7 +733,7 @@ static void add_oo_definition_line(struct command *cmd, const char *name, const
|
||||
|
||||
/* Support OO_FOO: continuing on multiple lines. */
|
||||
|
||||
static void append_oo_definition_line(struct command *cmd, const char *new_line)
|
||||
static void append_oo_definition_line(const char *new_line)
|
||||
{
|
||||
struct oo_line *oo;
|
||||
char *old_line;
|
||||
@ -750,7 +749,6 @@ static void append_oo_definition_line(struct command *cmd, const char *new_line)
|
||||
line = dm_malloc(len);
|
||||
if (!line) {
|
||||
log_error("Parsing command defs: no memory");
|
||||
cmd->cmd_flags |= CMD_FLAG_PARSE_ERROR;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1424,7 +1422,7 @@ int define_commands(char *run_name)
|
||||
* context of the existing command[].
|
||||
*/
|
||||
|
||||
if (is_desc_line(line_argv[0]) && !skip) {
|
||||
if (is_desc_line(line_argv[0]) && !skip && cmd) {
|
||||
char *desc = dm_strdup(line_orig);
|
||||
if (cmd->desc) {
|
||||
int newlen = strlen(cmd->desc) + strlen(desc) + 2;
|
||||
@ -1432,32 +1430,33 @@ int define_commands(char *run_name)
|
||||
if (newdesc) {
|
||||
memset(newdesc, 0, newlen);
|
||||
snprintf(newdesc, newlen, "%s %s", cmd->desc, desc);
|
||||
cmd->desc = newdesc;
|
||||
dm_free((char *)cmd->desc);
|
||||
dm_free(desc);
|
||||
cmd->desc = newdesc;
|
||||
}
|
||||
} else
|
||||
cmd->desc = desc;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_flags_line(line_argv[0]) && !skip) {
|
||||
if (is_flags_line(line_argv[0]) && !skip && cmd) {
|
||||
add_flags(cmd, line_orig);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_rule_line(line_argv[0]) && !skip) {
|
||||
if (is_rule_line(line_argv[0]) && !skip && cmd) {
|
||||
add_rule(cmd, line_orig);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_id_line(line_argv[0])) {
|
||||
if (is_id_line(line_argv[0]) && cmd) {
|
||||
cmd->command_id = dm_strdup(line_argv[1]);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* OO_FOO: ... */
|
||||
if (is_oo_definition(line_argv[0])) {
|
||||
add_oo_definition_line(cmd, line_argv[0], line_orig);
|
||||
add_oo_definition_line(line_argv[0], line_orig);
|
||||
prev_was_oo_def = 1;
|
||||
prev_was_oo = 0;
|
||||
prev_was_op = 0;
|
||||
@ -1465,7 +1464,7 @@ int define_commands(char *run_name)
|
||||
}
|
||||
|
||||
/* OO: ... */
|
||||
if (is_oo_line(line_argv[0]) && !skip) {
|
||||
if (is_oo_line(line_argv[0]) && !skip && cmd) {
|
||||
add_optional_opt_line(cmd, line_argc, line_argv);
|
||||
prev_was_oo_def = 0;
|
||||
prev_was_oo = 1;
|
||||
@ -1474,7 +1473,7 @@ int define_commands(char *run_name)
|
||||
}
|
||||
|
||||
/* OP: ... */
|
||||
if (is_op_line(line_argv[0]) && !skip) {
|
||||
if (is_op_line(line_argv[0]) && !skip && cmd) {
|
||||
add_optional_pos_line(cmd, line_argc, line_argv);
|
||||
prev_was_oo_def = 0;
|
||||
prev_was_oo = 0;
|
||||
@ -1483,7 +1482,7 @@ int define_commands(char *run_name)
|
||||
}
|
||||
|
||||
/* IO: ... */
|
||||
if (is_io_line(line_argv[0]) && !skip) {
|
||||
if (is_io_line(line_argv[0]) && !skip && cmd) {
|
||||
add_ignore_opt_line(cmd, line_argc, line_argv);
|
||||
prev_was_oo = 0;
|
||||
prev_was_op = 0;
|
||||
@ -1493,19 +1492,21 @@ int define_commands(char *run_name)
|
||||
/* handle OO_FOO:, OO:, OP: continuing on multiple lines */
|
||||
|
||||
if (prev_was_oo_def) {
|
||||
append_oo_definition_line(cmd, line_orig);
|
||||
append_oo_definition_line(line_orig);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (prev_was_oo) {
|
||||
if (prev_was_oo && cmd) {
|
||||
add_optional_opt_line(cmd, line_argc, line_argv);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (prev_was_op) {
|
||||
if (prev_was_op && cmd) {
|
||||
add_optional_pos_line(cmd, line_argc, line_argv);
|
||||
continue;
|
||||
}
|
||||
|
||||
log_error("Parsing command defs: can't process input line %s", line_orig);
|
||||
}
|
||||
|
||||
for (i = 0; i < COMMAND_COUNT; i++) {
|
||||
@ -2158,7 +2159,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum
|
||||
if (strstr(line_argv[i], "Number"))
|
||||
printf("\\fI%s\\fP", line_argv[i]);
|
||||
else
|
||||
printf("\\%\\fB%s\\fP", line_argv[i]);
|
||||
printf("\\fB%s\\fP", line_argv[i]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@ -3426,8 +3427,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
define_commands(NULL);
|
||||
|
||||
if (cmdname)
|
||||
configure_command_option_values(cmdname);
|
||||
configure_command_option_values(cmdname);
|
||||
|
||||
factor_common_options();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user