]> diplodocus.org Git - nmh/blobdiff - uip/prompter.c
Implement OAuth 2.0 [1] for XOAUTH2 in SMTP [2] and POP3 [3].
[nmh] / uip / prompter.c
index 37f5960b0c322a622af6775c38d62361bc1420ce..304c9a5d7c01b80e17fb0a718acd7bd3b914a46d 100644 (file)
@@ -329,6 +329,7 @@ getln (char *buffer, int n)
 {
     int c;
     char *cp;
+    static int quoting = 0;
 
     cp = buffer;
     *cp = 0;
@@ -350,12 +351,14 @@ getln (char *buffer, int n)
     for (;;) {
        switch (c = getchar ()) {
            case EOF: 
+               quoting = 0;
                clearerr (stdin);
                longjmp (sigenv, DONE);
 
            case '\n': 
-               if (cp[-1] == QUOTE) {
-                   cp[-1] = c;
+               if (quoting) {
+                   *(cp - 1) = c;
+                   quoting = 0;
                    wtuser = 0;
                    return 1;
                }
@@ -365,6 +368,11 @@ getln (char *buffer, int n)
                return 0;
 
            default: 
+               if (c == QUOTE) {
+                   quoting = 1;
+               } else {
+                   quoting = 0;
+               }
                if (cp < buffer + n)
                    *cp++ = c;
                *cp = 0;