I have applied the patch. Some notes below.

On Fri, Oct 26, 2001 at 02:41:28PM -0400, Glenn Maynard wrote:
> Important: I don't know what EPLF is and have no means of testing that code
> change.  Do you have a server I could use to test it?

Here is one server: ftp://vgsn.glasnet.ru. There are others, but I cannot
remember them. Unfortunately, vgsn.glasnet.ru is down now.

> FileCopyPeerFDStream::Do: loop on Get_LL and Put_LL until the buffer is
> full (Get_LL) or no more data left (Put_LL) or no data is put or retrieved.
> Of course, this still follows the regular nonblocking behavior.

I fixed eof handling in GET case. MOVED should be returned on eof change only.

> Moved code to strip \r\n to misc.cc.  Rewrote it to operate in linear
> time; this makes nlist out of cache fast.  There may be other places
> this code can be used.

I've rewrote crlf_to_lf so it is more clear and easier to understand.

int crlf_to_lf(char *buf, int s)
{
   char *store=mem_crlf(buf,s);
   if(!store)
      return s;

   int retsize=s-1;
   s-=store+1-buf;
   buf=store+1;

   while(s>1)
   {
      char *crlf=mem_crlf(buf,s);
      if(!crlf)
         break;

      memmove(store, buf, crlf-buf);
      store+=crlf-buf;
      retsize--;
      s-=crlf+1-buf;
      buf=crlf+1;
   }
   memmove(store,buf,s);
   return retsize;
}

> nlist status output is still broken.  The only fix I can see is the one
> I had originally, so I didn't bother repeating it. :)

I don't care much about it.

-- 
   Alexander.

Reply via email to