Mercurial > emacs
changeset 79905:de27c7b1b268
(pop_stat, pop_last): Fix last fix.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Tue, 22 Jan 2008 15:36:05 +0000 |
parents | e790904c1f51 |
children | dbb6bb5288bf |
files | lib-src/pop.c |
diffstat | 1 files changed, 4 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/pop.c Tue Jan 22 15:22:54 2008 +0000 +++ b/lib-src/pop.c Tue Jan 22 15:36:05 2008 +0000 @@ -381,25 +381,18 @@ errno = 0; *count = strtol (&fromserver[4], &end_ptr, 10); /* Check validity of string-to-integer conversion. */ - if (fromserver[4] == 0 || *end_ptr != 0 || errno) + if (fromserver + 4 == end_ptr || *end_ptr != ' ' || errno) { strcpy (pop_error, "Unexpected response from POP server in pop_stat"); pop_trash (server); return (-1); } - fromserver = index (&fromserver[4], ' '); - if (! fromserver) - { - strcpy (pop_error, - "Badly formatted response from server in pop_stat"); - pop_trash (server); - return (-1); - } + fromserver = end_ptr; errno = 0; *size = strtol (fromserver + 1, &end_ptr, 10); - if (*(fromserver + 1) == 0 || *end_ptr != 0 || errno) + if (fromserver + 1 == end_ptr || errno) { strcpy (pop_error, "Unexpected response from POP server in pop_stat"); pop_trash (server); @@ -933,7 +926,7 @@ int count; errno = 0; count = strtol (&fromserver[4], &end_ptr, 10); - if (fromserver[4] == 0 || *end_ptr != 0 || errno) + if (fromserver + 4 == end_ptr || errno) { strcpy (pop_error, "Unexpected response from server in pop_last"); pop_trash (server);