projects
/
project
/
uci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
only overwrite config files at commit time when actual changes were made
[project/uci.git]
/
file.c
diff --git
a/file.c
b/file.c
index
8595972
..
bc6b5a9
100644
(file)
--- a/
file.c
+++ b/
file.c
@@
-342,7
+342,9
@@
static void uci_parse_config(struct uci_context *ctx, char **str)
/* command string null-terminated by strtok */
*str += strlen(*str) + 1;
/* command string null-terminated by strtok */
*str += strlen(*str) + 1;
- type = next_arg(ctx, str, true, true);
+ type = next_arg(ctx, str, true, false);
+ if (!uci_validate_str(type, false))
+ uci_parse_error(ctx, type, "invalid character in field");
name = next_arg(ctx, str, false, true);
assert_eol(ctx, str);
name = next_arg(ctx, str, false, true);
assert_eol(ctx, str);
@@
-674,10
+676,12
@@
int uci_commit(struct uci_context *ctx, struct uci_package **package, bool overw
path = NULL;
/* check for updated history, flush */
path = NULL;
/* check for updated history, flush */
- uci_load_history(ctx, p, true);
+ if (!uci_load_history(ctx, p, true))
+ goto done;
} else {
/* flush history */
} else {
/* flush history */
- uci_load_history(ctx, NULL, true);
+ if (!uci_load_history(ctx, NULL, true))
+ goto done;
}
}
}
}