/* pop.c: client routines for talking to a POP3-protocol post-office server
-Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2012
- Free Software Foundation, Inc.
+Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2015 Free Software
+Foundation, Inc.
Author: Jonathan Kamens <jik@security.ov.com>
#endif
char pop_error[ERROR_MAX];
-int pop_debug = 0;
+bool pop_debug = false;
/*
* Function: pop_open (char *host, char *username, char *password,
server->data = 0;
server->buffer_index = 0;
server->buffer_size = GETLINE_MIN;
- server->in_multi = 0;
- server->trash_started = 0;
+ server->in_multi = false;
+ server->trash_started = false;
if (getok (server))
return (0);
else if (0 == strncmp (*response, "+OK", 3))
{
for (*response += 3; **response == ' '; (*response)++) /* empty */;
- server->in_multi = 1;
+ server->in_multi = true;
return (0);
}
else
if (! fromserver[1])
{
*line = 0;
- server->in_multi = 0;
+ server->in_multi = false;
return (0);
}
else
}
} while (ret != 0);
- if (ret == 0)
- {
- it = res;
- while (it)
- {
- if (it->ai_addrlen == sizeof (addr))
- {
- struct sockaddr_in *in_a = (struct sockaddr_in *) it->ai_addr;
- memcpy (&addr.sin_addr, &in_a->sin_addr, sizeof (addr.sin_addr));
- if (! connect (sock, (struct sockaddr *) &addr, sizeof (addr)))
- break;
- }
- it = it->ai_next;
- }
- connect_ok = it != NULL;
- if (connect_ok)
- {
- realhost = alloca (strlen (it->ai_canonname) + 1);
- strcpy (realhost, it->ai_canonname);
- }
- freeaddrinfo (res);
+ for (it = res; it; it = it->ai_next)
+ if (it->ai_addrlen == sizeof addr)
+ {
+ struct sockaddr_in *in_a = (struct sockaddr_in *) it->ai_addr;
+ addr.sin_addr = in_a->sin_addr;
+ if (! connect (sock, (struct sockaddr *) &addr, sizeof addr))
+ break;
+ }
+ connect_ok = it != NULL;
+ if (connect_ok)
+ {
+ realhost = alloca (strlen (it->ai_canonname) + 1);
+ strcpy (realhost, it->ai_canonname);
}
+ freeaddrinfo (res);
+
#else /* !HAVE_GETADDRINFO */
do
{
}
#elif defined HAVE_KRB5_ERROR_E_TEXT
if (err_ret && err_ret->e_text && **err_ret->e_text)
- snprintf (pop_error + pop_error_len, ERRMAX - pop_error_len,
+ snprintf (pop_error + pop_error_len, ERROR_MAX - pop_error_len,
" [server says '%s']", *err_ret->e_text);
#endif
if (err_ret)
over a few dozen messages, and is a big chunk of the time we
spend fetching mail from a server close by. */
buf = alloca (strlen (line) + 3);
- strcpy (buf, line);
- strcat (buf, "\r\n");
+ strcpy (stpcpy (buf, line), "\r\n");
ret = fullwrite (server->file, buf, strlen (buf));
if (ret < 0)
/* avoid recursion; sendline can call pop_trash */
if (server->trash_started)
return;
- server->trash_started = 1;
+ server->trash_started = true;
sendline (server, "RSET");
sendline (server, "QUIT");