Merge branch 'ta/config-set-2'
Update git_config() users with callback functions for a very narrow scope with calls to config-set API that lets us query a single variable. * ta/config-set-2: builtin/apply.c: replace `git_config()` with `git_config_get_string_const()` merge-recursive.c: replace `git_config()` with `git_config_get_int()` ll-merge.c: refactor `read_merge_config()` to use `git_config_string()` fast-import.c: replace `git_config()` with `git_config_get_*()` family branch.c: replace `git_config()` with `git_config_get_string() alias.c: replace `git_config()` with `git_config_get_string()` imap-send.c: replace `git_config()` with `git_config_get_*()` family pager.c: replace `git_config()` with `git_config_get_value()` builtin/gc.c: replace `git_config()` with `git_config_get_*()` family rerere.c: replace `git_config()` with `git_config_get_*()` family fetchpack.c: replace `git_config()` with `git_config_get_*()` family archive.c: replace `git_config()` with `git_config_get_bool()` family read-cache.c: replace `git_config()` with `git_config_get_*()` family http-backend.c: replace `git_config()` with `git_config_get_bool()` family daemon.c: replace `git_config()` with `git_config_get_bool()` family
This commit is contained in:
58
imap-send.c
58
imap-send.c
@ -1308,43 +1308,35 @@ static int split_msg(struct strbuf *all_msgs, struct strbuf *msg, int *ofs)
|
||||
|
||||
static char *imap_folder;
|
||||
|
||||
static int git_imap_config(const char *key, const char *val, void *cb)
|
||||
static void git_imap_config(void)
|
||||
{
|
||||
if (!skip_prefix(key, "imap.", &key))
|
||||
return 0;
|
||||
const char *val = NULL;
|
||||
|
||||
/* check booleans first, and barf on others */
|
||||
if (!strcmp("sslverify", key))
|
||||
server.ssl_verify = git_config_bool(key, val);
|
||||
else if (!strcmp("preformattedhtml", key))
|
||||
server.use_html = git_config_bool(key, val);
|
||||
else if (!val)
|
||||
return config_error_nonbool(key);
|
||||
git_config_get_bool("imap.sslverify", &server.ssl_verify);
|
||||
git_config_get_bool("imap.preformattedhtml", &server.use_html);
|
||||
git_config_get_string("imap.folder", &imap_folder);
|
||||
|
||||
if (!strcmp("folder", key)) {
|
||||
imap_folder = xstrdup(val);
|
||||
} else if (!strcmp("host", key)) {
|
||||
if (starts_with(val, "imap:"))
|
||||
val += 5;
|
||||
else if (starts_with(val, "imaps:")) {
|
||||
val += 6;
|
||||
server.use_ssl = 1;
|
||||
if (!git_config_get_value("imap.host", &val)) {
|
||||
if (!val) {
|
||||
git_die_config("imap.host", "Missing value for 'imap.host'");
|
||||
} else {
|
||||
if (starts_with(val, "imap:"))
|
||||
val += 5;
|
||||
else if (starts_with(val, "imaps:")) {
|
||||
val += 6;
|
||||
server.use_ssl = 1;
|
||||
}
|
||||
if (starts_with(val, "//"))
|
||||
val += 2;
|
||||
server.host = xstrdup(val);
|
||||
}
|
||||
if (starts_with(val, "//"))
|
||||
val += 2;
|
||||
server.host = xstrdup(val);
|
||||
} else if (!strcmp("user", key))
|
||||
server.user = xstrdup(val);
|
||||
else if (!strcmp("pass", key))
|
||||
server.pass = xstrdup(val);
|
||||
else if (!strcmp("port", key))
|
||||
server.port = git_config_int(key, val);
|
||||
else if (!strcmp("tunnel", key))
|
||||
server.tunnel = xstrdup(val);
|
||||
else if (!strcmp("authmethod", key))
|
||||
server.auth_method = xstrdup(val);
|
||||
}
|
||||
|
||||
return 0;
|
||||
git_config_get_string("imap.user", &server.user);
|
||||
git_config_get_string("imap.pass", &server.pass);
|
||||
git_config_get_int("imap.port", &server.port);
|
||||
git_config_get_string("imap.tunnel", &server.tunnel);
|
||||
git_config_get_string("imap.authmethod", &server.auth_method);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
@ -1365,7 +1357,7 @@ int main(int argc, char **argv)
|
||||
usage(imap_send_usage);
|
||||
|
||||
setup_git_directory_gently(&nongit_ok);
|
||||
git_config(git_imap_config, NULL);
|
||||
git_imap_config();
|
||||
|
||||
if (!server.port)
|
||||
server.port = server.use_ssl ? 993 : 143;
|
||||
|
Reference in New Issue
Block a user