X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/29ff4f879ba9eea142df4e8caf436d0dd933218c..bc49ece4e36e2e50c330df468b325aa3741dc682:/uip/mhlogin.c diff --git a/uip/mhlogin.c b/uip/mhlogin.c index 88912b5c..aabe9a3d 100644 --- a/uip/mhlogin.c +++ b/uip/mhlogin.c @@ -71,7 +71,7 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) mh_oauth_log_to(stderr, ctx); } - fn = getcpy(mh_oauth_cred_fn(ctx)); + fn = getcpy(mh_oauth_cred_fn(svc)); if ((url = mh_oauth_get_authorize_url(ctx)) == NULL) { adios(NULL, mh_oauth_get_err_string(ctx)); @@ -101,9 +101,10 @@ do_login(const char *svc, const char *user, const char *browser, int snoop) fflush(stdout); code = geta(); - while ((cred = mh_oauth_authorize(code, ctx)) == NULL - && mh_oauth_get_err_code(ctx) == MH_OAUTH_BAD_GRANT) { - printf("Code rejected; try again? "); + while (strlen(code) == 0 || + ((cred = mh_oauth_authorize(code, ctx)) == NULL + && mh_oauth_get_err_code(ctx) == MH_OAUTH_BAD_GRANT)) { + printf(strlen(code) == 0 ? "Empty code; try again? " : "Code rejected; try again? "); fflush(stdout); code = geta(); }