X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/4e8294e08d172bb1db6b5bcc8c00e259cd0bb6ca..c525020c77134b8832587755b7c05764a0516d80:/uip/popsbr.c diff --git a/uip/popsbr.c b/uip/popsbr.c index fa9b99d1..54aa3684 100644 --- a/uip/popsbr.c +++ b/uip/popsbr.c @@ -15,7 +15,6 @@ #include #define TRM "." -#define TRMLEN (sizeof TRM - 1) static int poprint = 0; @@ -240,6 +239,8 @@ pop_init (char *host, char *port, char *user, char *proxy, int snoop, if (poprint) fprintf (stderr, "<--- %s\n", response); if (*response == '+') { + nmh_creds_t creds; + if (sasl) { char server_mechs[256]; if (check_mech(server_mechs, sizeof(server_mechs)) != OK) @@ -253,7 +254,6 @@ pop_init (char *host, char *port, char *user, char *proxy, int snoop, } return OK; } - nmh_creds_t creds; if (!(creds = nmh_get_credentials(host, user))) return NOTOK; @@ -433,7 +433,7 @@ pop_sasl_callback(enum sasl_message_type mtype, unsigned const char *indata, if (line == NULL) return NOTOK; - if (strncmp(line, "+OK", 3) != 0) { + if (!HasPrefix(line, "+OK")) { netsec_err(errstr, "Authentication failed: %s", line); return NOTOK; } @@ -685,14 +685,14 @@ vcommand (const char *fmt, va_list ap) int multiline (void) { - char buffer[BUFSIZ + TRMLEN]; + char buffer[BUFSIZ + LEN(TRM)]; if (pop_getline (buffer, sizeof buffer, nsc) != OK) return NOTOK; - if (strncmp (buffer, TRM, TRMLEN) == 0) { - if (buffer[TRMLEN] == 0) + if (HasPrefix(buffer, TRM)) { + if (buffer[LEN(TRM)] == 0) return DONE; - strncpy (response, buffer + TRMLEN, sizeof(response)); + strncpy (response, buffer + LEN(TRM), sizeof(response)); } else strncpy (response, buffer, sizeof(response));