diff server.php @ 5:5d62af5270dd

Small bugfix in server STAT command (no data follows, so don't send a dot)
author Ivo Smits <Ivo@UCIS.nl>
date Tue, 12 Apr 2011 02:23:22 +0200
parents 0dcdb73cbcbf
children 01dc7eeaf5df
line wrap: on
line diff
--- a/server.php	Tue Apr 12 01:53:31 2011 +0200
+++ b/server.php	Tue Apr 12 02:23:22 2011 +0200
@@ -58,16 +58,16 @@
 			$article = nntp_get_article(strtok(" \t"));
 			if ($article === NULL) break;
 			switch ($cmd) {
-				case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break;
+				case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break;
 				case 'HEAD': nntp_writeline(STDOUT, '221 '.$article['messagenumber'].' <'.$article['messageid'].'> head'); break;
 				case 'BODY': nntp_writeline(STDOUT, '222 '.$article['messagenumber'].' <'.$article['messageid'].'> body'); break;
-				case 'ARTICLE': nntp_writeline(STDOUT, '220 '.$article['messagenumber'].' <'.$article['messageid'].'> article'); break;
+				case 'STAT': nntp_writeline(STDOUT, '223 '.$article['messagenumber'].' <'.$article['messageid'].'> stat'); break;
 				default: throw new Exception('Internal error');
 			}
 			if ($cmd == 'HEAD' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['header']) as $line) nntp_writeline(STDOUT, $line);
 			if ($cmd == 'ARTICLE') nntp_writeline(STDOUT, '');
 			if ($cmd == 'BODY' || $cmd == 'ARTICLE') foreach (explode("\r\n", $article['body']) as $line) nntp_writeline(STDOUT, $line);
-			nntp_writeline(STDOUT, '.');
+			if ($cmd != 'STAT') nntp_writeline(STDOUT, '.');
 			break;
 		case 'LAST':
 		case 'NEXT':