X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/f81bb3b8dae1b305ad394657b8420acc7ba45462..d0bd505e1a9b0bc2fc107446dcb615bf55c42e81:/sbr/oauth_prof.c?ds=inline diff --git a/sbr/oauth_prof.c b/sbr/oauth_prof.c index dc9bf2d0..7dbd4fdb 100644 --- a/sbr/oauth_prof.c +++ b/sbr/oauth_prof.c @@ -1,4 +1,5 @@ -/* +/* oauth_prof.c -- OAuth 2.0 implementation for XOAUTH2 in SMTP and POP3. + * * This code is Copyright (c) 2014, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -19,6 +20,7 @@ #include #include +#include "m_maildir.h" static const struct mh_oauth_service_info SERVICES[] = { /* https://developers.google.com/accounts/docs/OAuth2InstalledApp */ @@ -56,14 +58,8 @@ copy_svc(mh_oauth_service_info *to, const mh_oauth_service_info *from) char * mh_oauth_node_name_for_svc(const char *base_name, const char *svc) { - char *result = mh_xmalloc(sizeof "oauth-" - 1 - + strlen(svc) - + 1 /* '-' */ - + strlen(base_name) - + 1 /* '\0' */); - sprintf(result, "oauth-%s-%s", svc, base_name); /* TODO: s/_/-/g ? */ - return result; + return concat("oauth-", svc, "-", base_name, NULL); } /* Update one service_info field if overridden in profile. */ @@ -74,7 +70,7 @@ update_svc_field(char **field, const char *base_name, const char *svc) const char *value = context_find(name); if (value != NULL) { free(*field); - *field = getcpy(value); + *field = mh_xstrdup(value); } free(name); } @@ -145,10 +141,7 @@ mh_oauth_cred_fn(const char *svc) free(component); if (result == NULL) { - result = mh_xmalloc(sizeof "oauth-" - 1 - + strlen(svc) - + 1 /* '\0' */); - sprintf(result, "oauth-%s", svc); + result = concat("oauth-", svc, NULL); result_if_allocated = result; } else { result_if_allocated = NULL;