[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xchat on win32?




On 2001.06.15 14:33:52 +1000 Peter Zelezny wrote:

> > > No it doesn't need X. All you need is in that one zip file, xchat.exe
> > and
> > > some gtk/glib dlls. It's compiled using mingw (www.mingw.org) and
> uses
> > > winsock directly (no cygwin dlls).
> >
> > Well i'll be damned.
> > Any idea's why DCC doesn't seem to work? Who was it that 
> > compiled it? I'd like to have a go at this myself and see if I can get 
> > DCC going, as well as compiling in OpenSSL support.
> > 
> > Daniel Richards - http://leopard.osoal.org.nz/~kyhwana/
> 
> I compiled it myself.
> 
> I think the problem is something to do with the non-blocking connect()
> and
> listen(). Also, you'd probably have to change recv() in all the dcc code
> to
> g_io_channel_read() (much like read_data() in server.c). I think this
> might
> make ssl impossible.

Just an update on that, dcc receive now works, send still doesn't.
New binary is at xchat.org/win32/. It includes a slightly newer glib/gtk
which helped the dcc (glib from cvs-head and gtk+ from win32-production
branch). For some reason, read() in dcc_send_data() is always returning 0
and so doesn't send anything. *shrug*

Apparently, in this version of glib-win32 you now CAN call recv() (and
possibly ssl_recv()) inside input/socket callbacks (previously only
g_io_channel_read was allowed).

quote from ChangeLog:

	* giowin32.c: Socket support rewritten. It was utterly broken, and
	untested in fact. We still do use a thread for each socket being
	watched, but instead of blocking in recv() (which of course was
	plain stupid for sockets being listen()ed on in a server-type
	application), we block in select(). The read method for sockets
	calls recv(). It is now possible for the application to call
	accept(), recv() or send() in the callback, just like on
	Unix. Tested with code kindly provided by Andrew Lanoix.


This also helped it along:

--- xchat-1.7.7/src/common/util.c	Wed Jun 13 18:19:48 2001
+++ xchat-1.7.7p2/src/common/util.c	Sun Jun 17 01:00:39 2001
@@ -187,6 +187,9 @@
 		case 0:
 			return (filepart);
 		case '/':
+#ifdef WIN32
+		case '\\':
+#endif
 			filepart = file + 1;
 			break;
 		}


-- 
Peter Zelezny. <zed@linux.com>
-
XChat-discuss: mailing list for XChat users
Archive:       http://mail.nl.linux.org/xchat-discuss/
Posted By:     Peter Zelezny <zed@linux.com>