X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/35caf2388aecd13abc4fa67962c01186017af88d..92c3b05ef3e582d64b3cecfc261fdd66ef13a4ef:/uip/mhlogin.c diff --git a/uip/mhlogin.c b/uip/mhlogin.c index d6dd0afd..e78ae68f 100644 --- a/uip/mhlogin.c +++ b/uip/mhlogin.c @@ -1,5 +1,4 @@ -/* - * mhlogin.c -- login to external (OAuth) services +/* mhlogin.c -- login to external (OAuth) services * * This code is Copyright (c) 2014, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -13,6 +12,7 @@ #include #include #include +#include "sbr/lock_file.h" #define MHLOGIN_SWITCHES \ X("user username", 0, USERSW) \ @@ -36,13 +36,12 @@ DEFINE_SWITCH_ARRAY(MHLOGIN, switches); static char * geta (void) { - char *cp; static char line[BUFSIZ]; if (fgets(line, sizeof(line), stdin) == NULL) done (1); - if ((cp = strchr(line, '\n'))) - *cp = 0; + trim_suffix_c(line, '\n'); + return line; } @@ -65,7 +64,7 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) } if (!mh_oauth_new(&ctx, svc)) { - adios(NULL, mh_oauth_get_err_string(ctx)); + adios(NULL, "%s", mh_oauth_get_err_string(ctx)); } if (snoop) { @@ -75,7 +74,7 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) fn = mh_xstrdup(mh_oauth_cred_fn(svc)); if ((url = mh_oauth_get_authorize_url(ctx)) == NULL) { - adios(NULL, mh_oauth_get_err_string(ctx)); + adios(NULL, "%s", mh_oauth_get_err_string(ctx)); } if (browser) { @@ -110,8 +109,8 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) code = geta(); } if (cred == NULL) { - advise(NULL, "error exchanging code for OAuth2 token"); - adios(NULL, mh_oauth_get_err_string(ctx)); + inform("error exchanging code for OAuth2 token"); + adios(NULL, "%s", mh_oauth_get_err_string(ctx)); } cred_file = lkfopendata(fn, "r+", &failed_to_lock); @@ -122,7 +121,7 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) adios(fn, "oops"); } if (!mh_oauth_cred_save(cred_file, cred, user)) { - adios(NULL, mh_oauth_get_err_string(ctx)); + adios(NULL, "%s", mh_oauth_get_err_string(ctx)); } if (lkfclosedata(cred_file, fn) != 0) { adios (fn, "oops");