diff options
Diffstat (limited to 'alpine/xoauth2conf.c')
-rw-r--r-- | alpine/xoauth2conf.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/alpine/xoauth2conf.c b/alpine/xoauth2conf.c index 4a69eb9c..0e898061 100644 --- a/alpine/xoauth2conf.c +++ b/alpine/xoauth2conf.c @@ -333,22 +333,24 @@ alpine_xoauth2_configuration(struct pine *ps, int edit_exceptions) varlist[l]->name = cpystr(XOAUTH2_CLIENT_SECRET); varlist[l]->is_used = 1; varlist[l]->is_user = 1; - varlist[l]->main_user_val.p = strcmp(secret, secret_def) ? cpystr(secret) : NULL; - varlist[l]->global_val.p = cpystr(secret_def); + varlist[l]->main_user_val.p = secret && secret_def && strcmp(secret, secret_def) ? cpystr(secret) : NULL; + varlist[l]->global_val.p = secret_def ? cpystr(secret_def) : NULL; set_current_val(varlist[l], FALSE, FALSE); /* Write client-secret variable */ - new_confline(&ctmpa)->var = varlist[l]; - utf8_snprintf(tmp, sizeof(tmp), " %-*.100w =", ln, XOAUTH2_CLIENT_SECRET); - tmp[sizeof(tmp)-1] = '\0'; - ctmpa->varname = cpystr(tmp); - ctmpa->varmem = l++; - ctmpa->valoffset = ln + 3 + 3; - ctmpa->value = pretty_value(ps, ctmpa); - ctmpa->keymenu = &config_text_keymenu; - ctmpa->help = h_config_xoauth2_client_secret; - ctmpa->tool = text_tool; - ctmpa->varnamep = ctmpb; + if(secret){ + new_confline(&ctmpa)->var = varlist[l]; + utf8_snprintf(tmp, sizeof(tmp), " %-*.100w =", ln, XOAUTH2_CLIENT_SECRET); + tmp[sizeof(tmp)-1] = '\0'; + ctmpa->varname = cpystr(tmp); + ctmpa->varmem = l++; + ctmpa->valoffset = ln + 3 + 3; + ctmpa->value = pretty_value(ps, ctmpa); + ctmpa->keymenu = &config_text_keymenu; + ctmpa->help = h_config_xoauth2_client_secret; + ctmpa->tool = text_tool; + ctmpa->varnamep = ctmpb; + } /* Separate servers with a blank line */ new_confline(&ctmpa); |