config.c: remove unused git_config_key_is_valid()
The git_config_key_is_valid() function got left behind in a refactoring ina9bcf6586d
(alias: use the early config machinery to expand aliases, 2017-06-14), It previously had two users when it was added in9e9de18f1a
(config: silence warnings for command names with invalid keys, 2015-08-24), and after6a1e1bc0a1
(pager: use callbacks instead of configset, 2016-09-12) only one remained. By removing it we can get rid of the "quiet" branches in this function, as well as cases where "store_key" is NULL, for which there are no other users. Out of the 5 callers of git_config_parse_key() only one needs to pass a non-NULL "size_t *baselen_", so we could remove the third parameter from the public interface. I did not find that potential simplification to be worthwhile. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
cefe983a32
commit
73c5f67071
34
config.c
34
config.c
@ -425,7 +425,7 @@ static inline int iskeychar(int c)
|
||||
* baselen - pointer to size_t which will hold the length of the
|
||||
* section + subsection part, can be NULL
|
||||
*/
|
||||
static int git_config_parse_key_1(const char *key, char **store_key, size_t *baselen_, int quiet)
|
||||
int git_config_parse_key(const char *key, char **store_key, size_t *baselen_)
|
||||
{
|
||||
size_t i, baselen;
|
||||
int dot;
|
||||
@ -437,14 +437,12 @@ static int git_config_parse_key_1(const char *key, char **store_key, size_t *bas
|
||||
*/
|
||||
|
||||
if (last_dot == NULL || last_dot == key) {
|
||||
if (!quiet)
|
||||
error(_("key does not contain a section: %s"), key);
|
||||
error(_("key does not contain a section: %s"), key);
|
||||
return -CONFIG_NO_SECTION_OR_NAME;
|
||||
}
|
||||
|
||||
if (!last_dot[1]) {
|
||||
if (!quiet)
|
||||
error(_("key does not contain variable name: %s"), key);
|
||||
error(_("key does not contain variable name: %s"), key);
|
||||
return -CONFIG_NO_SECTION_OR_NAME;
|
||||
}
|
||||
|
||||
@ -455,8 +453,7 @@ static int git_config_parse_key_1(const char *key, char **store_key, size_t *bas
|
||||
/*
|
||||
* Validate the key and while at it, lower case it for matching.
|
||||
*/
|
||||
if (store_key)
|
||||
*store_key = xmallocz(strlen(key));
|
||||
*store_key = xmallocz(strlen(key));
|
||||
|
||||
dot = 0;
|
||||
for (i = 0; key[i]; i++) {
|
||||
@ -467,39 +464,24 @@ static int git_config_parse_key_1(const char *key, char **store_key, size_t *bas
|
||||
if (!dot || i > baselen) {
|
||||
if (!iskeychar(c) ||
|
||||
(i == baselen + 1 && !isalpha(c))) {
|
||||
if (!quiet)
|
||||
error(_("invalid key: %s"), key);
|
||||
error(_("invalid key: %s"), key);
|
||||
goto out_free_ret_1;
|
||||
}
|
||||
c = tolower(c);
|
||||
} else if (c == '\n') {
|
||||
if (!quiet)
|
||||
error(_("invalid key (newline): %s"), key);
|
||||
error(_("invalid key (newline): %s"), key);
|
||||
goto out_free_ret_1;
|
||||
}
|
||||
if (store_key)
|
||||
(*store_key)[i] = c;
|
||||
(*store_key)[i] = c;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
out_free_ret_1:
|
||||
if (store_key) {
|
||||
FREE_AND_NULL(*store_key);
|
||||
}
|
||||
FREE_AND_NULL(*store_key);
|
||||
return -CONFIG_INVALID_KEY;
|
||||
}
|
||||
|
||||
int git_config_parse_key(const char *key, char **store_key, size_t *baselen)
|
||||
{
|
||||
return git_config_parse_key_1(key, store_key, baselen, 0);
|
||||
}
|
||||
|
||||
int git_config_key_is_valid(const char *key)
|
||||
{
|
||||
return !git_config_parse_key_1(key, NULL, NULL, 1);
|
||||
}
|
||||
|
||||
static int config_parse_pair(const char *key, const char *value,
|
||||
config_fn_t fn, void *data)
|
||||
{
|
||||
|
1
config.h
1
config.h
@ -259,7 +259,6 @@ int git_config_set_gently(const char *, const char *);
|
||||
void git_config_set(const char *, const char *);
|
||||
|
||||
int git_config_parse_key(const char *, char **, size_t *);
|
||||
int git_config_key_is_valid(const char *key);
|
||||
|
||||
/*
|
||||
* The following macros specify flag bits that alter the behavior
|
||||
|
Loading…
Reference in New Issue
Block a user