diff -c pop/socket.c pop.new/socket.c
*** pop/socket.c	Sat Jul 13 23:42:04 1996
--- pop.new/socket.c	Thu Oct  3 20:07:42 1996
***************
*** 102,107 ****
--- 102,123 ----
  char *buf;
  int len;
  {
+     int rcv;
+     while(--len)
+     {
+         rcv = rrecvchar(socket);
+         if((rcv < 0) || (rcv > 255))
+         {
+             return(-1);
+         }
+         *buf = (char)rcv;
+         if (*buf == '\n')
+             break;
+         if (*buf != '\r') /* remove all CRs */
+             buf++;
+     }
+     *buf = 0;
+ #if 0
      while (--len)
      {
          if (read_s(socket, buf, 1) != 1)
***************
*** 112,117 ****
--- 128,134 ----
              buf++;
      }
      *buf = 0;
+ #endif
      return 0;
  }
  
