On 10/23/05, Daishi Kato <[EMAIL PROTECTED]> wrote: > Hi, > > I found a relevant entry at; > http://www.cygwin.com/ml/cygwin/2002-11/msg00732.html > and it is actually noted in recvfrom(2). > > I did make a patch which works fine for me, > but let me know if there is a better way of fixing, > like using foreign-something. >
Your patch is word-size and endian-specific, I suggest something like this: (define udp-recvfrom (lambda (sock len) (let ((fd (io:descriptor sock)) (buf (make-string len)) (from (make-string _sockaddr_in_size))) (let-location ((fromlen int _sockaddr_in_size)) (let ((result (restart-nonblocking "recvfrom" fd #t (lambda () (##net#recvfrom fd buf len 0 from #$fromlen))))) (values result (substring buf 0 result) (##net#inaddr->string from) (##net#inaddr-port from)))))) ) > Next in my wish list for udp.scm is > the support of native-windows. > I will try to setup an environment, but it seems there are several methods: > vcbuild.bat, makefile.vc, cmake, and maybe cygwin+mingw. > For now, which is the best to go? > It depends on your available tools. I recommend the native toolset. Depending on whether you have the commercial version or not, you should use either makefile.vc or vcbuilt.bat/vctk-install.txt. cheers, felix _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users