aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorChong Yidong2008-01-22 15:36:05 +0000
committerChong Yidong2008-01-22 15:36:05 +0000
commitcc8ce247d5c81de71d4d744be86342d729a17c65 (patch)
treeede4fc8a4823f44c7ec16dfb8375669a726e0cf7 /lib-src
parent8f4dc101ae41e11eb8a23241f2d9b3ee6d56001a (diff)
downloademacs-cc8ce247d5c81de71d4d744be86342d729a17c65.tar.gz
emacs-cc8ce247d5c81de71d4d744be86342d729a17c65.zip
(pop_stat, pop_last): Fix last fix.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/pop.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib-src/pop.c b/lib-src/pop.c
index 5dc5de75583..7b9b191add7 100644
--- a/lib-src/pop.c
+++ b/lib-src/pop.c
@@ -381,25 +381,18 @@ pop_stat (server, count, size)
381 errno = 0; 381 errno = 0;
382 *count = strtol (&fromserver[4], &end_ptr, 10); 382 *count = strtol (&fromserver[4], &end_ptr, 10);
383 /* Check validity of string-to-integer conversion. */ 383 /* Check validity of string-to-integer conversion. */
384 if (fromserver[4] == 0 || *end_ptr != 0 || errno) 384 if (fromserver + 4 == end_ptr || *end_ptr != ' ' || errno)
385 { 385 {
386 strcpy (pop_error, "Unexpected response from POP server in pop_stat"); 386 strcpy (pop_error, "Unexpected response from POP server in pop_stat");
387 pop_trash (server); 387 pop_trash (server);
388 return (-1); 388 return (-1);
389 } 389 }
390 390
391 fromserver = index (&fromserver[4], ' '); 391 fromserver = end_ptr;
392 if (! fromserver)
393 {
394 strcpy (pop_error,
395 "Badly formatted response from server in pop_stat");
396 pop_trash (server);
397 return (-1);
398 }
399 392
400 errno = 0; 393 errno = 0;
401 *size = strtol (fromserver + 1, &end_ptr, 10); 394 *size = strtol (fromserver + 1, &end_ptr, 10);
402 if (*(fromserver + 1) == 0 || *end_ptr != 0 || errno) 395 if (fromserver + 1 == end_ptr || errno)
403 { 396 {
404 strcpy (pop_error, "Unexpected response from POP server in pop_stat"); 397 strcpy (pop_error, "Unexpected response from POP server in pop_stat");
405 pop_trash (server); 398 pop_trash (server);
@@ -933,7 +926,7 @@ pop_last (server)
933 int count; 926 int count;
934 errno = 0; 927 errno = 0;
935 count = strtol (&fromserver[4], &end_ptr, 10); 928 count = strtol (&fromserver[4], &end_ptr, 10);
936 if (fromserver[4] == 0 || *end_ptr != 0 || errno) 929 if (fromserver + 4 == end_ptr || errno)
937 { 930 {
938 strcpy (pop_error, "Unexpected response from server in pop_last"); 931 strcpy (pop_error, "Unexpected response from server in pop_last");
939 pop_trash (server); 932 pop_trash (server);