mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
config: remove unnecessary copy of config line's space prefix before printing
When we wanted to insert '#' before a config line (to comment it out), we used dm_pool_strndup to temporarily copy the space prefix first so we can assemble the final line with: "<space_prefix># <key>=<value>": out of original: "<space_prefix><key>=<value>". The space_prefix copy is not necessary, we can just use fprintf's precision modifier "%.*s" to print the exact part if we alrady know space_prefix length.
This commit is contained in:
parent
b4cc28c2ef
commit
8a23683a59
@ -1831,7 +1831,6 @@ static int _out_line_fn(const struct dm_config_node *cn, const char *line, void
|
|||||||
char version[9];
|
char version[9];
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
int space_prefix_len;
|
int space_prefix_len;
|
||||||
char *space_prefix;
|
|
||||||
const char *p;
|
const char *p;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
@ -1888,10 +1887,9 @@ static int _out_line_fn(const struct dm_config_node *cn, const char *line, void
|
|||||||
(cfg_def->flags & (CFG_DEFAULT_UNDEFINED | CFG_DEFAULT_COMMENTED))) {
|
(cfg_def->flags & (CFG_DEFAULT_UNDEFINED | CFG_DEFAULT_COMMENTED))) {
|
||||||
/* print with # at the front to comment out the line */
|
/* print with # at the front to comment out the line */
|
||||||
if (_should_print_cfg_with_undef_def_val(out, cfg_def, cn)) {
|
if (_should_print_cfg_with_undef_def_val(out, cfg_def, cn)) {
|
||||||
space_prefix = ((len = strspn(line, "\t "))) ? dm_pool_strndup(out->mem, line, len) : NULL;
|
space_prefix_len = strspn(line, "\t ");
|
||||||
fprintf(out->fp, "%s%s%s\n", space_prefix ? : "", "# ", line + len);
|
fprintf(out->fp, "%.*s%s%s\n", space_prefix_len, line, "# ",
|
||||||
if (space_prefix)
|
line + space_prefix_len);
|
||||||
dm_pool_free(out->mem, space_prefix);
|
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user