It now returns a fresh allocation so that can be used directly rather
than obtaining another copy.
*
* Never returns NULL.
*/
*
* Never returns NULL.
*/
mh_oauth_cred_fn(const char *svc_name);
/*
mh_oauth_cred_fn(const char *svc_name);
/*
if (log != NULL) mh_oauth_log_to(stderr, ctx);
if (log != NULL) mh_oauth_log_to(stderr, ctx);
- fn = mh_xstrdup(mh_oauth_cred_fn(svc));
+ fn = mh_oauth_cred_fn(svc);
fp = lkfopendata(fn, "r+", &failed_to_lock);
if (fp == NULL) {
if (errno == ENOENT) {
fp = lkfopendata(fn, "r+", &failed_to_lock);
if (fp == NULL) {
if (errno == ENOENT) {
}
/* Return value must be free(3)'d. */
}
/* Return value must be free(3)'d. */
mh_oauth_cred_fn(const char *svc)
{
char *key = mh_oauth_node_name_for_svc("credential-file", svc);
mh_oauth_cred_fn(const char *svc)
{
char *key = mh_oauth_node_name_for_svc("credential-file", svc);
mh_oauth_log_to(stderr, ctx);
}
mh_oauth_log_to(stderr, ctx);
}
- fn = mh_xstrdup(mh_oauth_cred_fn(svc));
+ fn = mh_oauth_cred_fn(svc);
if ((url = mh_oauth_get_authorize_url(ctx)) == NULL) {
adios(NULL, "%s", mh_oauth_get_err_string(ctx));
if ((url = mh_oauth_get_authorize_url(ctx)) == NULL) {
adios(NULL, "%s", mh_oauth_get_err_string(ctx));
vec[(*vecp)++] = mh_xstrdup("-authservice");
vec[(*vecp)++] = mh_xstrdup(auth_svc);
vec[(*vecp)++] = mh_xstrdup("-oauthcredfile");
vec[(*vecp)++] = mh_xstrdup("-authservice");
vec[(*vecp)++] = mh_xstrdup(auth_svc);
vec[(*vecp)++] = mh_xstrdup("-oauthcredfile");
- vec[(*vecp)++] = mh_xstrdup(mh_oauth_cred_fn(auth_svc));
+ vec[(*vecp)++] = mh_oauth_cred_fn(auth_svc);
vec[(*vecp)++] = mh_xstrdup("-oauthclientid");
vec[(*vecp)++] = getcpy(svc.client_id);
vec[(*vecp)++] = mh_xstrdup("-oauthclientsecret");
vec[(*vecp)++] = mh_xstrdup("-oauthclientid");
vec[(*vecp)++] = getcpy(svc.client_id);
vec[(*vecp)++] = mh_xstrdup("-oauthclientsecret");