[BUG 1.7 getopt_long() and recv()] has problem for tftp-hpa-5.0 on cygwin-1.7/win2003

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Sun Jun 14 11:39:00 GMT 2009


On Sat, Jun 13, 2009 at 07:53:10PM -0700, Xiaoqiang Zheng wrote:
>to make the 2 BUGs more clear:
>
>* in the while loop of processing options with '-' using getopt_long():  
>
>$ tftpd/tftpd -u SYSTEM -L -vvvv -p -c -s /var/log
>
>1. it seems the '-<x> <value>'(-u SYSTEM) argument pairs that pass the second argument as value have the value lost and the variable get null value. the '-<x>'(-L -p -c -s; -vvvv is a special one) type arguments that set some flag seems work well.
>
>2. the value of 'optind'  is always 1 in each loop(-vvvv is a special one?). but it would have be increased by 1 in each loop.  after all the '-<x>' and '-<x> <value>' arguments being processed, its value. 
>
>3. because the value of optind not increased 1 for each loop, so that the arguments '/var/log' at the end that pass value(s) get processed in a wrong way as the optind is used for 'argv[optind]' to set value to some variable(s).
>
>
>* recv() returns -1 with error 14 when it read acknolege packet from the socket, the normal return value is 4.

Chuck's analysis of 1. seems spot on.

Corinna should have fixed 2.  earlier today.  Her fix should be in the
latest snapshot at http://cygwin.com/snapshots/

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list