-/*
+/* 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.
#include <h/oauth.h>
#include <h/utils.h>
+#include "m_maildir.h"
static const struct mh_oauth_service_info SERVICES[] = {
/* https://developers.google.com/accounts/docs/OAuth2InstalledApp */
svcinfo->client_secret = svcinfo->auth_endpoint = NULL;
svcinfo->token_endpoint = svcinfo->redirect_uri = NULL;
- for (i = 0; i < (int) (sizeof SERVICES / sizeof SERVICES[0]); i++) {
+ for (i = 0; i < (int)DIM(SERVICES); i++) {
if (strcmp(SERVICES[i].name, svc_name) == 0) {
copy_svc(svcinfo, &SERVICES[i]);
break;
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;