From: garp AT opustel DOT com (Keith Gary Boyce ) Subject: Fw: Re: Fw: Re: SSL telnet 0.9 port to gnu-win32 (select) 28 Dec 1996 06:38:02 -0800 Sender: daemon AT cygnus DOT com Approved: cygnus DOT gnu-win32 AT cygnus DOT com Distribution: cygnus Message-ID: References: <199612280829 DOT SAA29401 AT orb DOT mincom DOT oz DOT au> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Original-To: gnu-win32 AT cygnus DOT com X-Mailer: Chameleon ATX 6.0.1, Standards Based IntraNet Solutions, NetManage Inc. X-Face: ^DH_.wR&WxVpl/6xSwb1zT".+d0hm%R>&bOD: y{? X-Priority: 3 (Normal) Original-Sender: owner-gnu-win32 AT cygnus DOT com I never received an answer about gnu win32 licencing issues. Please respond. Here is some further information about bugs with gnu-win32. --- On Sat, 28 Dec 1996 18:29:08 +1000 (EST) Tim Hudson wrote: According to Keith Gary Boyce: > Hey you're good ... Look what I got today... You might want to pass the following on too ... there is another bug that also will break things. This is a simple program that *should* work ... however other programs do nasty GNU WIN32 specific stuff when they should be doing things like the following (if a bug is fixed). Look at the code in less to see what I mean. Tim. /* gnusel.c - test GNU WIN32 select * * The GNU WIN32 select code is unfinished it appears and also * broken in a few places. * * - the following should simply echo each character as it is * typed, unfortunately select() returns data when the shift key * is pressed and the following read() blocks (as there is no * character to be read). * * - sockets and console handles cannot be mixed. The code in * select.cc indicates that a thread will be added to fix this. An * alternative is to use messages ... but I cannot be bothered to * hack either approach in myself. * * - the current GNU WIN32 license puts cygwin.dll under the GPL * which is plainly insane in making all linked code have to be * covered by the GPL ... this will prevent a significant section * of people from using (and contributing to) this effort. * * Type "Q" to quit * * Tim Hudson * tjh AT mincom DOT com * */ #include #include #include #include #include #include #include #include #include /* #define SYS_ERR (errno>0 && errno" */ #define SYS_ERR "" int my_cfmakeraw(struct termios *termios_p) { termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); termios_p->c_oflag &= ~OPOST; termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); termios_p->c_cflag &= ~(CSIZE|PARENB); termios_p->c_cflag |= CS8; } main(argc,argv) int argc; char *argv[]; { int readsock; int writesock; fd_set readfds; int res; char buf[BUFSIZ]; int on; struct termio tc; struct termios tci; errno=0; readsock=fileno(stdin); writesock=fileno(stdout); readsock=open("/dev/tty",O_RDWR); fprintf(stderr,"readsock=%d - %d\n",readsock,errno); on=1; errno=0; res=ioctl(readsock,FIONBIO,&on); if (res!=0) { fprintf(stderr,"ioctl(FIONBIO) failed - %d\n",errno); fflush(stderr); } errno=0; res=tcgetattr(readsock,&tci); if (res!=0) { fprintf(stderr,"tcgetattr failed - %d\n",errno); fflush(stderr); } my_cfmakeraw(&tci); errno=0; res=tcsetattr(readsock,TCSANOW,&tci); if (res!=0) { fprintf(stderr,"tcsetattr failed - %d\n",errno); fflush(stderr); } while(1) { FD_ZERO(&readfds); FD_SET(readsock,&readfds); do { fprintf(stderr,"Entering select\n"); fflush(stderr); errno=0; res=select(FD_SETSIZE,&readfds,NULL,NULL,NULL); if ((res==-1) && (errno!=EINTR)) { fprintf(stderr,"select: %s\n",SYS_ERR); exit(1); } fprintf(stderr,"select returned %d - %d\n",res,errno); fflush(stderr); } while (errno==EINTR); if (FD_ISSET(readsock,&readfds)) { errno=0; res=read(readsock,buf,BUFSIZ-1); if (res==-1) { fprintf(stderr,"read failed: %s\n",SYS_ERR); exit(1); } if (res==0) { fprintf(stderr,"read: closed\n"); break; } /* allow for quiting */ if (buf[0]=='Q') break; errno=0; res=write(writesock,buf,res); if (res==-1) { fprintf(stderr,"write failed: %s\n",SYS_ERR); exit(1); } } } exit(0); } ---------------End of Original Message----------------- ------------------------------------- Name: Garry Boyce E-mail: garp AT opustel DOT opustel DOT com (Garry Boyce) Date: 12/01/94 Time: 08:46:10 This message was sent by Chameleon ------------------------------------- - For help on using this list, send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".