curl-library
Re: Automated telnet problems
From: Pierre Brico <pierre.brico_at_tsdsoftware.eu>
Date: Wed, 11 Mar 2009 23:03:47 +0100
Date: Wed, 11 Mar 2009 23:03:47 +0100
Hello guys,
Here is a patch for the second issue (libcurl didn't report error when
write_callback returns unexpected value):
$ diff /h/curl-7.19.5-20090311/lib/telnet.c telnet.c
111c111
< void telrcv(struct connectdata *,
--- > CURLcode telrcv(struct connectdata *, 955c955 < void telrcv(struct connectdata *conn, --- > CURLcode telrcv(struct connectdata *conn, 963a964 > CURLcode result; 966,967c967,971 < if(startwrite >= 0) \ < Curl_client_write(conn, CLIENTWRITE_BODY, (char *)&inbuf[startwrite], in-startwrite); \ --- > if(startwrite >= 0) { \ > result = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)&inbuf[startwrite], in-startwrite); \ > if (result != CURLE_OK) \ > return result; \ > } \ 1121a1126,1127 > > return CURLE_OK; 1376c1382,1386 < telrcv(conn, (unsigned char *)buf, nread); --- > code = telrcv(conn, (unsigned char *)buf, nread); > if(code) { > keepon = FALSE; > break; > } 1454c1464,1468 < telrcv(conn, (unsigned char *)buf, nread); --- > code = telrcv(conn, (unsigned char *)buf, nread); > if(code) { > keepon = FALSE; > break; > } Regards, Pierre On Wed, Mar 11, 2009 at 9:42 PM, Pierre Brico <pierre.brico_at_tsdsoftware.eu>wrote: > Hello, > > Thanks to Yang who has fixed my first issue (I tested it under Windows and > it works). However, the behavior is different of what I was waiting for. > Indeed, I though the timeout was computed between two calls of the > write_callback function and not computed by subtracting current time from > connected time. > Is it possible to have a timeout only if the time between two consecutive > calls to write_callback function is more than X seconds (I won't have a > timeout if there's still activity) ? > > For my second issue, I will try to solve it by myself. > > Thanks for your help, > Pierre > > > On Wed, Mar 11, 2009 at 9:23 AM, Daniel Stenberg <daniel_at_haxx.se> wrote: > >> On Wed, 11 Mar 2009, Daniel Stenberg wrote: >> >> Why is it a difference between Windows and Unix behaviour ? It shouldn't >>>> be difficult to place a timeout of 1s for the WaitForMultipleObjects >>>> function and to add a code similar to (the Unix code) >>>> >>> >>> Any chance you can provide a full patch for this fix? >>> >> >> Oops, I should learn to read all mails before I start replying - I noticed >> that Yang already fixed this part... >> >> -- >> >> / daniel.haxx.se >> > >Received on 2009-03-11