diff -ruN xchat2.orig/plugins/perl/makefile.msc xchat2/plugins/perl/makefile.msc
--- xchat2.orig/plugins/perl/makefile.msc Tue Mar 29 08:11:50 2005
+++ xchat2/plugins/perl/makefile.msc Sun Sep 23 10:56:16 2007
@@ -1,29 +1,29 @@
-include "..\..\src\makeinc.msc"
-
-TARGET = $(PERLOUTPUT)
-
-all: $(TARGET)
-
-perl.def:
- echo EXPORTS > perl.def
- echo xchat_plugin_init >> perl.def
- echo xchat_plugin_deinit >> perl.def
- echo xchat_plugin_get_info >> perl.def
-
-perl.obj: perl.c
- $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\"
-
-perl.c: xchat.pm.h
-
-xchat.pm.h: Xchat.pm IRC.pm
- perl.exe generate_header
-
-$(TARGET): perl.obj perl.def
- $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib /def:perl.def /OPT:NOWIN98
-
-clean:
- del $(TARGET)
- del *.obj
- del perl.def
- del *.lib
- del *.exp
+include "..\..\src\makeinc.msc"
+
+TARGET = $(PERLOUTPUT)
+
+all: $(TARGET)
+
+perl.def:
+ echo EXPORTS > perl.def
+ echo xchat_plugin_init >> perl.def
+ echo xchat_plugin_deinit >> perl.def
+ echo xchat_plugin_get_info >> perl.def
+
+perl.obj: perl.c
+ $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\"
+
+perl.c: xchat.pm.h
+
+xchat.pm.h: Xchat.pm IRC.pm
+ perl.exe generate_header
+
+$(TARGET): perl.obj perl.def
+ $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib $(LIBS) /def:perl.def /OPT:NOWIN98
+
+clean:
+ del $(TARGET)
+ del *.obj
+ del perl.def
+ del *.lib
+ del *.exp
diff -ruN xchat2.orig/src/common/cfgfiles.c xchat2/src/common/cfgfiles.c
--- xchat2.orig/src/common/cfgfiles.c Sun Jun 17 09:23:32 2007
+++ xchat2/src/common/cfgfiles.c Sun Sep 23 10:56:16 2007
@@ -36,7 +36,7 @@
#else
#define XCHAT_DIR ".xchat2"
#endif
-#define DEF_FONT "Monospace 9"
+#define DEF_FONT "Fixedsys Excelsior 2.00 11"
void
list_addentry (GSList ** list, char *cmd, char *name)
@@ -612,7 +612,6 @@
prefs.irc_join_delay = 3;
prefs.show_marker = 1;
prefs.newtabstofront = 2;
- prefs.completion_amount = 5;
prefs.away_timeout = 60;
prefs.away_size_max = 300;
prefs.away_track = 1;
diff -ruN xchat2.orig/src/common/proto-irc.c xchat2/src/common/proto-irc.c
--- xchat2.orig/src/common/proto-irc.c Sun Jul 29 08:02:36 2007
+++ xchat2/src/common/proto-irc.c Sun Sep 23 10:56:16 2007
@@ -104,10 +104,7 @@
static void
irc_quit (server *serv, char *reason)
{
- if (reason[0])
- tcp_sendf (serv, "QUIT :%s\r\n", reason);
- else
- tcp_send_len (serv, "QUIT\r\n", 6);
+ tcp_sendf (serv, "QUIT :%s\r\n", reason);
}
static void
diff -ruN xchat2.orig/src/fe-gtk/about.c xchat2/src/fe-gtk/about.c
--- xchat2.orig/src/fe-gtk/about.c Sun Jul 1 07:32:38 2007
+++ xchat2/src/fe-gtk/about.c Sun Sep 23 10:57:50 2007
@@ -129,7 +129,7 @@
"Renderer: %s\n"
#endif
"Compiled: "__DATE__"\n\n"
- "\302\251 1998-2007 Peter \305\275elezn\303\275 <zed@xchat.org>",
+ "\302\251 1998-2007 Peter \305\275elezn\303\275 <zed@xchat.org>\n\302\251 2003-2007 Vaidrius Petrauskas <silverex@silverex.org>",
_("A multiplatform IRC Client"),
get_cpu_str(),
locale,
diff -ruN xchat2.orig/src/fe-gtk/servlistgui.c xchat2/src/fe-gtk/servlistgui.c
--- xchat2.orig/src/fe-gtk/servlistgui.c Wed Nov 22 05:14:06 2006
+++ xchat2/src/fe-gtk/servlistgui.c Sun Sep 23 10:56:16 2007
@@ -96,6 +96,7 @@
"ISO-8859-7 (Greek)",
"ISO-8859-8 (Hebrew)",
"ISO-8859-9 (Turkish)",
+ "ISO-8859-13 (Baltic)",
"ISO-2022-JP (Japanese)",
"SJIS (Japanese)",
"CP949 (Korean)",
diff -ruN xchat2.orig/src/makeinc.msc xchat2/src/makeinc.msc
--- xchat2.orig/src/makeinc.msc Mon Mar 13 09:33:44 2006
+++ xchat2/src/makeinc.msc Sun Sep 23 10:56:16 2007
@@ -1,97 +1,97 @@
-### EDIT THESE ################################################
-#OPENSSL = YES
-#IPV6 = YES
-#MMX = YES
-GLIB = editme
-GTK = editme
-LIBS = editme
-# optimize for Pentium and size
-CFLAGS = /G5 /O1
-###############################################################
-
-PERLPATH = C:\PERL\LIB\CORE
-PERLLIB = perl58
-PERLOUTPUT = xcperl.dll
-
-PYTHONPATH = C:\PYTHON24
-PYTHONLIB = python24
-PYTHONOUTPUT = xcpython.dll
-
-TCLPATH = C:\TCL
-TCLLIB = tcl84
-TCLOUTPUT = xctcl.dll
-
-CC = cl
-LINK = link
-CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS
-LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib
-
-!IFDEF IPV6
-CFLAGS = $(CFLAGS) -DUSE_IPV6
-LIBS = $(LIBS) ws2_32.lib
-!ELSE
-LIBS = $(LIBS) wsock32.lib
-!ENDIF
-
-!IFDEF OPENSSL
-CFLAGS = $(CFLAGS) /DUSE_OPENSSL
-LIBS = $(LIBS) libeay32.lib libssl32.lib
-SSLOBJ = ssl.obj
-!ENDIF
-
-COMMON_OBJECTS = \
-cfgfiles.obj \
-ctcp.obj \
-dcc.obj \
-history.obj \
-ignore.obj \
-inbound.obj \
-modes.obj \
-network.obj \
-notify.obj \
-outbound.obj \
-plugin.obj \
-plugin-timer.obj \
-proto-irc.obj \
-server.obj \
-servlist.obj \
-$(SSLOBJ) \
-text.obj \
-tree.obj \
-url.obj \
-userlist.obj \
-util.obj \
-xchat.obj
-
-FEGTK_OBJECTS = \
-about.obj \
-ascii.obj \
-banlist.obj \
-chanlist.obj \
-chanview.obj \
-dccgui.obj \
-editlist.obj \
-fe-gtk.obj \
-fkeys.obj \
-gtkutil.obj \
-ignoregui.obj \
-joind.obj \
-maingui.obj \
-menu.obj \
-notifygui.obj \
-palette.obj \
-pixmaps.obj \
-plugingui.obj \
-rawlog.obj \
-search.obj \
-servlistgui.obj \
-setup.obj \
-textgui.obj \
-urlgrab.obj \
-userlistgui.obj \
-xtext.obj
-
-!IFDEF MMX
-FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o
-CFLAGS = $(CFLAGS) -DUSE_MMX
-!ENDIF
+### EDIT THESE ################################################
+OPENSSL = YES
+IPV6 = YES
+MMX = YES
+GLIB = -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include -ID:/dev/root/include
+GTK = -mms-bitfields -ID:/dev/root/include/gtk-2.0 -ID:/dev/root/lib/gtk-2.0/include -ID:/dev/root/include/atk-1.0 -ID:/dev/root/include/cairo -ID:/dev/root/include/pango-1.0 -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include
+LIBS = /libpath:D:/dev/root/lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib gdi32.lib pangocairo-1.0.lib fontconfig.lib freetype.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib comdlg32.lib
+# optimize for Pentium and size
+CFLAGS = /G5 /O1
+###############################################################
+
+PERLPATH = C:\ACTIVE\PERL\LIB\CORE
+PERLLIB = perl58
+PERLOUTPUT = xcperl.dll
+
+PYTHONPATH = C:\ACTIVE\PYTHON23
+PYTHONLIB = python23
+PYTHONOUTPUT = xcpython.dll
+
+TCLPATH = C:\ACTIVE\TCL
+TCLLIB = tcl84
+TCLOUTPUT = xctcl.dll
+
+CC = cl
+LINK = link
+CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS
+LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib
+
+!IFDEF IPV6
+CFLAGS = $(CFLAGS) -DUSE_IPV6
+LIBS = $(LIBS) ws2_32.lib
+!ELSE
+LIBS = $(LIBS) wsock32.lib
+!ENDIF
+
+!IFDEF OPENSSL
+CFLAGS = $(CFLAGS) /DUSE_OPENSSL
+LIBS = $(LIBS) libeay32.lib ssleay32.lib /DELAYLOAD:libeay32.dll /DELAYLOAD:ssleay32.dll DELAYIMP.LIB
+SSLOBJ = ssl.obj
+!ENDIF
+
+COMMON_OBJECTS = \
+cfgfiles.obj \
+ctcp.obj \
+dcc.obj \
+history.obj \
+ignore.obj \
+inbound.obj \
+modes.obj \
+network.obj \
+notify.obj \
+outbound.obj \
+plugin.obj \
+plugin-timer.obj \
+proto-irc.obj \
+server.obj \
+servlist.obj \
+$(SSLOBJ) \
+text.obj \
+tree.obj \
+url.obj \
+userlist.obj \
+util.obj \
+xchat.obj
+
+FEGTK_OBJECTS = \
+about.obj \
+ascii.obj \
+banlist.obj \
+chanlist.obj \
+chanview.obj \
+dccgui.obj \
+editlist.obj \
+fe-gtk.obj \
+fkeys.obj \
+gtkutil.obj \
+ignoregui.obj \
+joind.obj \
+maingui.obj \
+menu.obj \
+notifygui.obj \
+palette.obj \
+pixmaps.obj \
+plugingui.obj \
+rawlog.obj \
+search.obj \
+servlistgui.obj \
+setup.obj \
+textgui.obj \
+urlgrab.obj \
+userlistgui.obj \
+xtext.obj
+
+!IFDEF MMX
+FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o
+CFLAGS = $(CFLAGS) -DUSE_MMX
+!ENDIF
diff -ruN xchat2.orig/version.diff xchat2/version.diff
--- xchat2.orig/version.diff Thu Jan 1 02:00:00 1970
+++ xchat2/version.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,40 @@
+diff -urN xchat-2.4.5/src/fe-gtk/makefile.msc xchat-2.4.5_md/src/fe-gtk/makefile.msc
+--- xchat-2.4.5/src/fe-gtk/makefile.msc 2005-09-17 20:39:06.328125000 -0400
++++ xchat-2.4.5_md/src/fe-gtk/makefile.msc 2005-09-17 20:45:38.281250000 -0400
+@@ -18,7 +18,8 @@
+
+ xchat.rc:
+ echo XC_ICON ICON "../../xchat.ico" > xchat.rc
+- echo 1 24 "xchat.exe.manifest" >> xchat.rc
++ echo 1 24 "xchat.exe.manifest" >> xchat.rc
++ echo #include "version.rc" >> xchat.rc
+
+ xchat.res: xchat.rc xchat.exe.manifest ../../xchat.ico
+ rc /r xchat.rc
+diff -urN xchat-2.4.5/src/fe-gtk/version.rc xchat-2.4.5_md/src/fe-gtk/version.rc
+--- xchat-2.4.5/src/fe-gtk/version.rc 1969-12-31 19:00:00.000000000 -0500
++++ xchat-2.4.5_md/src/fe-gtk/version.rc 2005-09-17 20:45:15.406250000 -0400
+@@ -0,0 +1,23 @@
++#define VERINF1 1
++VERINF1 VERSIONINFO
++FILEVERSION 2,6,4,0
++PRODUCTVERSION 2,6,4,0
++FILEOS 0x00000004
++FILETYPE 0x00000001
++BEGIN
++ BLOCK "StringFileInfo"
++ BEGIN
++ BLOCK "040904B0"
++ BEGIN
++ VALUE "FileVersion", "2.6.4\0"
++ VALUE "FileDescription", "X-Chat IRC Client\0"
++ VALUE "LegalCopyright", "© 1998-2006 Peter Zelezny, Vaidrius Petrauskas.\0"
++ VALUE "ProductName", "X-Chat\0"
++ VALUE "ProductVersion", "2.6.4\0"
++ END
++ END
++ BLOCK "VarFileInfo"
++ BEGIN
++ VALUE "Translation", 0x0409, 0x04B0
++ END
++END
diff -ruN xchat2.orig/win32-httpproxy.diff xchat2/win32-httpproxy.diff
--- xchat2.orig/win32-httpproxy.diff Thu Jan 1 02:00:00 1970
+++ xchat2/win32-httpproxy.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,12 @@
+diff -urN xchat2.orig/src/common/server.c xchat2/src/common/server.c
+--- xchat2.orig/src/common/server.c 2005-12-18 20:20:34.140625000 -0500
++++ xchat2/src/common/server.c 2005-12-13 09:44:48.000000000 -0500
+@@ -1291,7 +1291,7 @@
+ {
+ #ifdef WIN32
+ /* make sure waitline() uses recv() or it'll fail on win32 */
+- len = waitline (sok, buf, len, FALSE);
++ len = waitline (sok, buf, len, TRUE);
+ #else
+ len = waitline (sok, buf, len, TRUE);
+ #endif
diff -ruN xchat2.orig/win32-logdates.diff xchat2/win32-logdates.diff
--- xchat2.orig/win32-logdates.diff Thu Jan 1 02:00:00 1970
+++ xchat2/win32-logdates.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,39 @@
+diff -ur xchat2.orig/src/common/text.c xchat2/src/common/text.c
+--- xchat2.orig/src/common/text.c 2005-11-06 22:47:49.000000000 -0500
++++ xchat2/src/common/text.c 2005-12-15 21:46:59.750000000 -0500
+@@ -149,6 +149,22 @@
+ return dest - 1;
+ }
+
++static char *
++magic_strcpy (char *dest, char *src, char *end)
++{
++ while (*src)
++ {
++ *dest = *src;
++ if (dest + 1 == end)
++ break;
++ dest++;
++ src++;
++ }
++
++ dest[0] = 0;
++ return dest - 1;
++}
++
+ /* substitutes %c %n %s into buffer */
+
+ static void
+@@ -177,6 +193,12 @@
+ case 's':
+ buf = log_escape_strcpy (buf, s, end);
+ break;
++ case 'D':
++ buf = magic_strcpy (buf, "%m/%d/%y", end);
++ break;
++ case 'F':
++ buf = magic_strcpy (buf, "%Y-%m-%d", end);
++ break;
+ default:
+ buf[0] = '%';
+ buf++;
diff -ruN xchat2.orig/xc.diff xchat2/xc.diff
--- xchat2.orig/xc.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xc.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,334 @@
+diff -ru xchat-2.6.4.orig/plugins/perl/makefile.msc xchat-2.6.4/plugins/perl/makefile.msc
+--- xchat-2.6.4.orig/plugins/perl/makefile.msc Tue Mar 29 08:11:50 2005
++++ xchat-2.6.4/plugins/perl/makefile.msc Thu Jun 15 22:41:02 2006
+@@ -1,29 +1,29 @@
+-include "..\..\src\makeinc.msc"
+-
+-TARGET = $(PERLOUTPUT)
+-
+-all: $(TARGET)
+-
+-perl.def:
+- echo EXPORTS > perl.def
+- echo xchat_plugin_init >> perl.def
+- echo xchat_plugin_deinit >> perl.def
+- echo xchat_plugin_get_info >> perl.def
+-
+-perl.obj: perl.c
+- $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\"
+-
+-perl.c: xchat.pm.h
+-
+-xchat.pm.h: Xchat.pm IRC.pm
+- perl.exe generate_header
+-
+-$(TARGET): perl.obj perl.def
+- $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib /def:perl.def /OPT:NOWIN98
+-
+-clean:
+- del $(TARGET)
+- del *.obj
+- del perl.def
+- del *.lib
+- del *.exp
++include "..\..\src\makeinc.msc"
++
++TARGET = $(PERLOUTPUT)
++
++all: $(TARGET)
++
++perl.def:
++ echo EXPORTS > perl.def
++ echo xchat_plugin_init >> perl.def
++ echo xchat_plugin_deinit >> perl.def
++ echo xchat_plugin_get_info >> perl.def
++
++perl.obj: perl.c
++ $(CC) $(CFLAGS) -c perl.c $(GLIB) -I.. -I$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\"
++
++perl.c: xchat.pm.h
++
++xchat.pm.h: Xchat.pm IRC.pm
++ perl.exe generate_header
++
++$(TARGET): perl.obj perl.def
++ $(LINK) /DLL /out:$(TARGET) /SUBSYSTEM:WINDOWS /nologo perl.obj $(PERLLIB).lib /LIBPATH:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll DELAYIMP.LIB dirent.lib user32.lib shell32.lib advapi32.lib $(LIBS) /def:perl.def /OPT:NOWIN98
++
++clean:
++ del $(TARGET)
++ del *.obj
++ del perl.def
++ del *.lib
++ del *.exp
+Only in xchat-2.6.4: run.bat
+diff -ru xchat-2.6.4.orig/src/common/cfgfiles.c xchat-2.6.4/src/common/cfgfiles.c
+--- xchat-2.6.4.orig/src/common/cfgfiles.c Mon May 22 17:27:10 2006
++++ xchat-2.6.4/src/common/cfgfiles.c Thu Jun 15 22:41:02 2006
+@@ -36,7 +36,7 @@
+ #else
+ #define XCHAT_DIR ".xchat2"
+ #endif
+-#define DEF_FONT "Monospace 9"
++#define DEF_FONT "Fixedsys Excelsior 2.00 11"
+
+ void
+ list_addentry (GSList ** list, char *cmd, char *name)
+@@ -590,7 +590,6 @@
+ prefs.irc_join_delay = 3;
+ prefs.show_marker = 1;
+ prefs.newtabstofront = 2;
+- prefs.completion_amount = 5;
+ prefs.away_timeout = 60;
+ prefs.away_size_max = 300;
+ prefs.away_track = 1;
+Only in xchat-2.6.4/src/common: cfgfiles.c.orig
+diff -ru xchat-2.6.4.orig/src/common/proto-irc.c xchat-2.6.4/src/common/proto-irc.c
+--- xchat-2.6.4.orig/src/common/proto-irc.c Wed Jun 7 05:37:10 2006
++++ xchat-2.6.4/src/common/proto-irc.c Thu Jun 15 22:41:02 2006
+@@ -104,10 +104,7 @@
+ static void
+ irc_quit (server *serv, char *reason)
+ {
+- if (reason[0])
+- tcp_sendf (serv, "QUIT :%s\r\n", reason);
+- else
+- tcp_send_len (serv, "QUIT\r\n", 6);
++ tcp_sendf (serv, "QUIT :%s\r\n", reason);
+ }
+
+ static void
+Only in xchat-2.6.4/src/common: proto-irc.c.orig
+diff -ru xchat-2.6.4.orig/src/fe-gtk/about.c xchat-2.6.4/src/fe-gtk/about.c
+--- xchat-2.6.4.orig/src/fe-gtk/about.c Mon May 22 17:27:10 2006
++++ xchat-2.6.4/src/fe-gtk/about.c Thu Jun 15 22:41:02 2006
+@@ -118,17 +118,16 @@
+ "XChat "PACKAGE_VERSION"\n\n"
+ "%s\n\n"
+ "%s\n"
+- "Charset: %s "
++ "Charset: UTF-8 "
+ #ifdef WIN32
+ "GTK+: %i.%i.%i\n"
+ #else
+ "Renderer: %s\n"
+ #endif
+ "Compiled: "__DATE__"\n\n"
+- "\302\251 1998-2006 Peter \305\275elezn\303\275 <zed@xchat.org>",
++ "\302\251 1998-2006 Peter \305\275elezn\303\275 <zed@xchat.org>\n\302\251 2003-2006 Vaidrius Petrauskas <silverex@silverex.org>",
+ _("A multiplatform IRC Client"),
+ get_cpu_str(),
+- locale,
+ #ifdef WIN32
+ gtk_major_version,
+ gtk_minor_version,
+Only in xchat-2.6.4/src/fe-gtk: about.c.orig
+diff -ru xchat-2.6.4.orig/src/fe-gtk/servlistgui.c xchat-2.6.4/src/fe-gtk/servlistgui.c
+--- xchat-2.6.4.orig/src/fe-gtk/servlistgui.c Sun May 21 14:32:48 2006
++++ xchat-2.6.4/src/fe-gtk/servlistgui.c Thu Jun 15 22:41:02 2006
+@@ -95,6 +95,7 @@
+ "ISO-8859-7 (Greek)",
+ "ISO-8859-8 (Hebrew)",
+ "ISO-8859-9 (Turkish)",
++ "ISO-8859-13 (Baltic)",
+ "ISO-2022-JP (Japanese)",
+ "SJIS (Japanese)",
+ "CP949 (Korean)",
+Only in xchat-2.6.4/src/fe-gtk: servlistgui.c.orig
+diff -ru xchat-2.6.4.orig/src/makeinc.msc xchat-2.6.4/src/makeinc.msc
+--- xchat-2.6.4.orig/src/makeinc.msc Mon Mar 13 09:13:28 2006
++++ xchat-2.6.4/src/makeinc.msc Thu Jun 15 22:46:40 2006
+@@ -1,97 +1,97 @@
+-### EDIT THESE ################################################
+-#OPENSSL = YES
+-#IPV6 = YES
+-#MMX = YES
+-GLIB = editme
+-GTK = editme
+-LIBS = editme
+-# optimize for Pentium and size
+-CFLAGS = /G5 /O1
+-###############################################################
+-
+-PERLPATH = C:\PERL\LIB\CORE
+-PERLLIB = perl58
+-PERLOUTPUT = xcperl.dll
+-
+-PYTHONPATH = C:\PYTHON24
+-PYTHONLIB = python24
+-PYTHONOUTPUT = xcpython.dll
+-
+-TCLPATH = C:\TCL
+-TCLLIB = tcl84
+-TCLOUTPUT = xctcl.dll
+-
+-CC = cl
+-LINK = link
+-CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS
+-LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib
+-
+-!IFDEF IPV6
+-CFLAGS = $(CFLAGS) -DUSE_IPV6
+-LIBS = $(LIBS) ws2_32.lib
+-!ELSE
+-LIBS = $(LIBS) wsock32.lib
+-!ENDIF
+-
+-!IFDEF OPENSSL
+-CFLAGS = $(CFLAGS) /DUSE_OPENSSL
+-LIBS = $(LIBS) libeay32.lib libssl32.lib
+-SSLOBJ = ssl.obj
+-!ENDIF
+-
+-COMMON_OBJECTS = \
+-cfgfiles.obj \
+-ctcp.obj \
+-dcc.obj \
+-history.obj \
+-ignore.obj \
+-inbound.obj \
+-modes.obj \
+-network.obj \
+-notify.obj \
+-outbound.obj \
+-plugin.obj \
+-plugin-timer.obj \
+-proto-irc.obj \
+-server.obj \
+-servlist.obj \
+-$(SSLOBJ) \
+-text.obj \
+-tree.obj \
+-url.obj \
+-userlist.obj \
+-util.obj \
+-xchat.obj
+-
+-FEGTK_OBJECTS = \
+-about.obj \
+-ascii.obj \
+-banlist.obj \
+-chanlist.obj \
+-chanview.obj \
+-dccgui.obj \
+-editlist.obj \
+-fe-gtk.obj \
+-fkeys.obj \
+-gtkutil.obj \
+-ignoregui.obj \
+-joind.obj \
+-maingui.obj \
+-menu.obj \
+-notifygui.obj \
+-palette.obj \
+-pixmaps.obj \
+-plugingui.obj \
+-rawlog.obj \
+-search.obj \
+-servlistgui.obj \
+-setup.obj \
+-textgui.obj \
+-urlgrab.obj \
+-userlistgui.obj \
+-xtext.obj
+-
+-!IFDEF MMX
+-FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o
+-CFLAGS = $(CFLAGS) -DUSE_MMX
+-!ENDIF
++### EDIT THESE ################################################
++OPENSSL = YES
++IPV6 = YES
++MMX = YES
++GLIB = -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include -ID:/dev/root/include
++GTK = -mms-bitfields -ID:/dev/root/include/gtk-2.0 -ID:/dev/root/lib/gtk-2.0/include -ID:/dev/root/include/atk-1.0 -ID:/dev/root/include/cairo -ID:/dev/root/include/pango-1.0 -ID:/dev/root/include/glib-2.0 -ID:/dev/root/lib/glib-2.0/include
++LIBS = /libpath:D:/dev/root/lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib gdi32.lib pangocairo-1.0.lib fontconfig.lib freetype.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib iconv.lib comdlg32.lib
++# optimize for Pentium and size
++CFLAGS = /G5 /O1
++###############################################################
++
++PERLPATH = C:\ACTIVE\PERL\LIB\CORE
++PERLLIB = perl58
++PERLOUTPUT = xcperl.dll
++
++PYTHONPATH = C:\ACTIVE\PYTHON23
++PYTHONLIB = python23
++PYTHONOUTPUT = xcpython.dll
++
++TCLPATH = C:\ACTIVE\TCL
++TCLLIB = tcl84
++TCLOUTPUT = xctcl.dll
++
++CC = cl
++LINK = link
++CFLAGS = $(CFLAGS) -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp /MD /nologo /DWIN32 /DG_DISABLE_CAST_CHECKS
++LIBS = $(LIBS) dirent.lib gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib
++
++!IFDEF IPV6
++CFLAGS = $(CFLAGS) -DUSE_IPV6
++LIBS = $(LIBS) ws2_32.lib
++!ELSE
++LIBS = $(LIBS) wsock32.lib
++!ENDIF
++
++!IFDEF OPENSSL
++CFLAGS = $(CFLAGS) /DUSE_OPENSSL
++LIBS = $(LIBS) libeay32.lib ssleay32.lib /DELAYLOAD:libeay32.dll /DELAYLOAD:ssleay32.dll DELAYIMP.LIB
++SSLOBJ = ssl.obj
++!ENDIF
++
++COMMON_OBJECTS = \
++cfgfiles.obj \
++ctcp.obj \
++dcc.obj \
++history.obj \
++ignore.obj \
++inbound.obj \
++modes.obj \
++network.obj \
++notify.obj \
++outbound.obj \
++plugin.obj \
++plugin-timer.obj \
++proto-irc.obj \
++server.obj \
++servlist.obj \
++$(SSLOBJ) \
++text.obj \
++tree.obj \
++url.obj \
++userlist.obj \
++util.obj \
++xchat.obj
++
++FEGTK_OBJECTS = \
++about.obj \
++ascii.obj \
++banlist.obj \
++chanlist.obj \
++chanview.obj \
++dccgui.obj \
++editlist.obj \
++fe-gtk.obj \
++fkeys.obj \
++gtkutil.obj \
++ignoregui.obj \
++joind.obj \
++maingui.obj \
++menu.obj \
++notifygui.obj \
++palette.obj \
++pixmaps.obj \
++plugingui.obj \
++rawlog.obj \
++search.obj \
++servlistgui.obj \
++setup.obj \
++textgui.obj \
++urlgrab.obj \
++userlistgui.obj \
++xtext.obj
++
++!IFDEF MMX
++FEGTK_OBJECTS = $(FEGTK_OBJECTS) mmx_cmod.o
++CFLAGS = $(CFLAGS) -DUSE_MMX
++!ENDIF
diff -ruN xchat2.orig/xc260fixes.diff xchat2/xc260fixes.diff
--- xchat2.orig/xc260fixes.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xc260fixes.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,12 @@
+diff -ur xchat2/src/common/server.c good_xchat2/src/common/server.c
+--- xchat2/src/common/server.c 2005-10-28 06:57:01.000000000 -0400
++++ good_xchat2/src/common/server.c 2005-10-29 18:06:08.437500000 -0400
+@@ -1581,7 +1581,7 @@
+ }
+ #endif
+ serv->childpid = pid;
+- serv->iotag = fe_input_add (serv->childread, FIA_READ, server_read_child,
++ serv->iotag = fe_input_add (serv->childread, FIA_READ|FIA_FD, server_read_child,
+ serv);
+ }
+
diff -ruN xchat2.orig/xc264-active-whois-default.diff xchat2/xc264-active-whois-default.diff
--- xchat2.orig/xc264-active-whois-default.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xc264-active-whois-default.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,18 @@
+--- xchat-2.6.4.orig/src/common/cfgfiles.c Mon May 22 17:27:10 2006
++++ xchat-2.6.4/src/common/cfgfiles.c Thu Jun 15 22:57:40 2006
+@@ -590,7 +590,6 @@
+ prefs.irc_join_delay = 3;
+ prefs.show_marker = 1;
+ prefs.newtabstofront = 2;
+- prefs.completion_amount = 5;
+ prefs.away_timeout = 60;
+ prefs.away_size_max = 300;
+ prefs.away_track = 1;
+@@ -648,6 +647,7 @@
+ prefs.mainwindow_save = 1;
+ prefs.bantype = 2;
+ prefs.flash_hilight = 1;
++ prefs.irc_whois_front = 1;
+ prefs.autodccsend = 2; /* browse mode */
+ #ifdef WIN32
+ prefs.identd = 1;
diff -ruN xchat2.orig/xchat-empty-quit-msg.diff xchat2/xchat-empty-quit-msg.diff
--- xchat2.orig/xchat-empty-quit-msg.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xchat-empty-quit-msg.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,12 @@
+diff -ru xchat2.orig/src/common/proto-irc.c xchat2/src/common/proto-irc.c
+--- xchat2.orig/src/common/proto-irc.c 2003-07-02 19:52:09.000000000 +0300
++++ xchat2/src/common/proto-irc.c 2003-07-02 19:57:31.000000000 +0300
+@@ -88,7 +88,7 @@
+ if (reason[0])
+ tcp_sendf (serv, "QUIT :%s\r\n", reason);
+ else
+- tcp_send_len (serv, "QUIT\r\n", 6);
++ tcp_send_len (serv, "QUIT :\r\n", 8);
+ }
+
+ static void
diff -ruN xchat2.orig/xchat_dyn_ssl.diff xchat2/xchat_dyn_ssl.diff
--- xchat2.orig/xchat_dyn_ssl.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xchat_dyn_ssl.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,31 @@
+--- xchat2/src/common/server.c 2003-01-11 14:26:52.000000000 +1100
++++ xchat2-dynssl/src/common/server.c 2003-01-18 17:45:28.000000000 +1100
+@@ -1231,11 +1231,28 @@
+ server_connect (server *serv, char *hostname, int port, int no_login)
+ {
+ int pid, read_des[2];
+ session *sess = serv->server_session;
++ HINSTANCE lib;
+
+ #ifdef USE_OPENSSL
+ if (!ctx && serv->use_ssl)
+ {
++ lib = LoadLibrary ("LIBEAY32.dll");
++ if (!lib)
++ {
++ PrintText (sess, "SSL libraries not installed.\n");
++ return;
++ }
++ FreeLibrary (lib);
++
++ lib = LoadLibrary ("SSLEAY32.dll");
++ if (!lib)
++ {
++ PrintText (sess, "SSL libraries not installed.\n");
++ return;
++ }
++ FreeLibrary (lib);
++
+ if (!(ctx = _SSL_context_init (ssl_cb_info, FALSE)))
+ {
+ fprintf (stderr, "_SSL_context_init failed\n");
diff -ruN xchat2.orig/xchatnativeopenfile11savefile.diff xchat2/xchatnativeopenfile11savefile.diff
--- xchat2.orig/xchatnativeopenfile11savefile.diff Thu Jan 1 02:00:00 1970
+++ xchat2/xchatnativeopenfile11savefile.diff Sun Mar 18 20:30:34 2007
@@ -0,0 +1,450 @@
+diff -ruN xchat-2.6.4.orig/src/common/thread.c xchat-2.6.4/src/common/thread.c
+--- xchat-2.6.4.orig/src/common/thread.c Thu Jan 1 02:00:00 1970
++++ xchat-2.6.4/src/common/thread.c Wed Jun 21 18:30:04 2006
+@@ -0,0 +1,111 @@
++#include
++#include
++
++#define USE_PTHREAD
++
++#ifdef WIN32
++
++#include
++#define pthread_t DWORD
++#define pipe(a) _pipe(a,4096,_O_BINARY)
++
++#else
++#ifdef USE_PTHREAD
++
++#include
++
++#else
++
++#include
++#include
++#include
++#define pthread_t int
++
++#endif
++#endif
++
++
++typedef struct
++{
++ pthread_t threadid;
++ int pipe_fd[2];
++} thread;
++
++thread *
++thread_new (void)
++{
++ thread *th;
++
++ th = calloc (1, sizeof (*th));
++ if (!th)
++ return NULL;
++
++ if (pipe (th->pipe_fd) == -1)
++ {
++ free (th);
++ return NULL;
++ }
++
++#ifdef __EMX__ /* os/2 */
++ setmode (pipe_fd[0], O_BINARY);
++ setmode (pipe_fd[1], O_BINARY);
++#endif
++
++ return th;
++}
++
++int
++thread_start (thread *th, void *(*start_routine)(void *), void *arg)
++{
++ pthread_t id;
++
++#ifdef WIN32
++ CloseHandle (CreateThread (NULL, 0,
++ (LPTHREAD_START_ROUTINE)start_routine,
++ arg, 0, (DWORD *)&id));
++#else
++#ifdef USE_PTHREAD
++ if (pthread_create (&id, NULL, start_routine, arg) != 0)
++ return 0;
++#else
++ switch (id = fork ())
++ {
++ case -1:
++ return 0;
++ case 0:
++ /* this is the child */
++ setuid (getuid ());
++ start_routine (arg);
++ _exit (0);
++ }
++#endif
++#endif
++
++ th->threadid = id;
++
++ return 1;
++}
++
++/*void
++thread_kill (thread *th)
++{
++#ifdef WIN32
++ PostThreadMessage (th->threadid, WM_QUIT, 0, 0);
++#else
++#ifdef USE_PTHREAD
++ pthread_cancel (th->threadid);
++ pthread_join (th->threadid, (void *)&th);
++#else
++ kill (th->threadid, SIGKILL);
++ waitpid (th->threadid, NULL, 0);
++#endif
++#endif
++}
++
++void
++thread_free (thread *th)
++{
++ close (th->pipe_fd[0]);
++ close (th->pipe_fd[1]);
++ free (th);
++}*/
+diff -ruN xchat-2.6.4.orig/src/fe-gtk/gtkutil.c xchat-2.6.4/src/fe-gtk/gtkutil.c
+--- xchat-2.6.4.orig/src/fe-gtk/gtkutil.c Tue Jun 6 04:35:02 2006
++++ xchat-2.6.4/src/fe-gtk/gtkutil.c Wed Jun 21 18:34:44 2006
+@@ -50,6 +50,10 @@
+ #include "../common/fe.h"
+ #include "gtkutil.h"
+ #include "pixmaps.h"
++#ifdef WIN32
++#include "../common/fe.h"
++#include "../common/thread.c"
++#endif
+
+ /* gtkutil.c, just some gtk wrappers */
+
+@@ -62,6 +66,13 @@
+ void *userdata;
+ filereqcallback callback;
+ int flags; /* FRF_* flags */
++
++ #ifdef WIN32
++ int multiple;
++ thread *th;
++ char *title; /* native locale */
++ char *filter;
++ #endif
+ };
+
+ static char last_dir[256] = "";
+@@ -180,6 +191,198 @@
+ }
+ }
+
++#ifdef WIN32
++
++static int
++win32_openfile (char *file_buf, int file_buf_len, char *title_text, char *filter,
++ int multiple)
++{
++ OPENFILENAME o;
++
++ memset (&o, 0, sizeof (o));
++
++ o.lStructSize = sizeof (o);
++ o.lpstrFilter = filter;
++ o.lpstrFile = file_buf;
++ o.nMaxFile = file_buf_len;
++ o.lpstrTitle = title_text;
++ o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY |
++ OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON;
++ if (multiple)
++ o.Flags |= OFN_ALLOWMULTISELECT;
++
++ return GetOpenFileName (&o);
++}
++
++static int
++win32_savefile (char *file_buf, int file_buf_len, char *title_text, char *filter,
++ int multiple)
++{
++ OPENFILENAME o;
++
++ memset (&o, 0, sizeof (o));
++
++ o.lStructSize = sizeof (o);
++ o.lpstrFilter = filter;
++ o.lpstrFile = file_buf;
++ o.nMaxFile = file_buf_len;
++ o.lpstrTitle = title_text;
++ o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY |
++ OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON;
++ if (multiple)
++ o.Flags |= OFN_ALLOWMULTISELECT;
++
++ return GetSaveFileName (&o);
++}
++
++static void *
++win32_thread (struct file_req *freq)
++{
++ char buf[1024 + 32];
++ char file[1024];
++
++ memset (file, 0, sizeof (file));
++ safe_strcpy (file, last_dir, sizeof (file));
++
++ if (win32_openfile (file, sizeof (file), freq->title, freq->filter, freq->multiple))
++ {
++ if (freq->multiple)
++ {
++ char *f = file;
++
++ if (f[strlen (f) + 1] == 0) /* only selected one file */
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\n", file);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ } else
++ {
++ f += strlen (f) + 1; /* skip first, it's only the dir */
++ while (f[0])
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ f += strlen (f) + 1;
++ }
++ }
++
++ } else
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\n", file);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ }
++ }
++
++ write (freq->th->pipe_fd[1], "0\n", 2);
++ Sleep (2000);
++
++ return NULL;
++}
++
++static void *
++win32_thread2 (struct file_req *freq)
++{
++ char buf[1024 + 32];
++ char file[1024];
++
++ memset (file, 0, sizeof (file));
++ safe_strcpy (file, last_dir, sizeof (file));
++
++ if (win32_savefile (file, sizeof (file), freq->title, freq->filter, freq->multiple))
++ {
++ if (freq->multiple)
++ {
++ char *f = file;
++
++ if (f[strlen (f) + 1] == 0) /* only selected one file */
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\n", file);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ } else
++ {
++ f += strlen (f) + 1; /* skip first, it's only the dir */
++ while (f[0])
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ f += strlen (f) + 1;
++ }
++ }
++
++ } else
++ {
++ snprintf (buf, sizeof (buf), "1\n%s\n", file);
++ write (freq->th->pipe_fd[1], buf, strlen (buf));
++ }
++ }
++
++ write (freq->th->pipe_fd[1], "0\n", 2);
++ Sleep (2000);
++
++ return NULL;
++}
++
++static int
++waitline2 (GIOChannel *source, char *buf, int bufsize)
++{
++ int i = 0;
++ int len;
++
++ while (1)
++ {
++ if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE)
++ return -1;
++ if (buf[i] == '\n' || bufsize == i + 1)
++ {
++ buf[i] = 0;
++ return i;
++ }
++ i++;
++ }
++}
++
++static gboolean
++win32_close_pipe (int fd)
++{
++ close (fd);
++ return 0;
++}
++
++static gboolean
++win32_read_thread (GIOChannel *source, GIOCondition cond, struct file_req *freq)
++{
++ char buf[512];
++ char *file;
++
++ waitline2 (source, buf, sizeof buf);
++
++ switch (buf[0])
++ {
++ case '0': /* filedialog has closed */
++ freq->callback (freq->userdata, NULL);
++ break;
++
++ case '1': /* got a filename! */
++ waitline2 (source, buf, sizeof buf);
++ file = g_filename_to_utf8 (buf, -1, 0, 0, 0);
++ freq->callback (freq->userdata, file);
++ g_free (file);
++ return TRUE;
++ }
++
++ /* it doesn't work to close them here, because of the weird
++ way giowin32 works. We must _return_ before closing them */
++ g_timeout_add(3000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[0]);
++ g_timeout_add(2000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[1]);
++
++ g_free (freq->title);
++ free (freq->th);
++ free (freq);
++
++ return FALSE;
++}
++
++#endif
++
+ void
+ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filter,
+ int flags)
+@@ -187,6 +390,53 @@
+ struct file_req *freq;
+ GtkWidget *dialog;
+ extern char *get_xdir_fs (void);
++
++ if (!(flags & FRF_WRITE))
++ {
++ freq = malloc (sizeof (struct file_req));
++ freq->th = thread_new ();
++ freq->flags = 0;
++ freq->multiple = (flags & FRF_MULTIPLE);
++ freq->callback = callback;
++ freq->userdata = userdata;
++ freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0);
++ if (!filter)
++ freq->filter = "All files\000*.*\000"
++ "EXE files\000*.EXE\000"
++ "MP3 files\000*.MP3\000"
++ "MPEG files\000*.MPG;*.MPEG\000"
++ "RAR files\000*.RAR\000"
++ "ZIP files\000*.ZIP\000";
++ else
++ freq->filter = filter;
++
++ thread_start (freq->th, win32_thread, freq);
++ fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq);
++
++ return;
++
++ }
++
++ else {
++ freq = malloc (sizeof (struct file_req));
++ freq->th = thread_new ();
++ freq->flags = 0;
++ freq->multiple = (flags & FRF_MULTIPLE);
++ freq->callback = callback;
++ freq->userdata = userdata;
++ freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0);
++ if (!filter)
++ freq->filter = "Text files\000*.TXT\000"
++ "All files\000*.*\000";
++ else
++ freq->filter = filter;
++
++ thread_start (freq->th, win32_thread2, freq);
++ fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq);
++
++ return;
++ }
++#endif
+
+ if (flags & FRF_WRITE)
+ {
+diff -ruN xchat-2.6.4.orig/src/fe-gtk/makefile.msc xchat-2.6.4/src/fe-gtk/makefile.msc
+--- xchat-2.6.4.orig/src/fe-gtk/makefile.msc Sun Jun 27 08:44:12 2004
++++ xchat-2.6.4/src/fe-gtk/makefile.msc Wed Jun 21 18:30:04 2006
+@@ -13,13 +13,14 @@
+ $(CC) $(CFLAGS) $(GLIB) $(GTK) /c $<
+
+ $(PROG): $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj
+- $(LINK) /out:$(PROG) /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup $(LDFLAGS) $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj
++ $(LINK) /out:$(PROG) /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup xchat-icon.obj $(LDFLAGS) $(FEGTK_OBJECTS) $(COMLIB)
+ @dir $(PROG)
+
+ xchat.rc:
+ echo XC_ICON ICON "../../xchat.ico" > xchat.rc
++ echo 1 24 "xchat.exe.manifest" >> xchat.rc
+
+-xchat.res: xchat.rc ../../xchat.ico
++xchat.res: xchat.rc xchat.exe.manifest ../../xchat.ico
+ rc /r xchat.rc
+
+ xchat-icon.obj: xchat.res
+diff -ruN xchat-2.6.4.orig/src/fe-gtk/plugingui.c xchat-2.6.4/src/fe-gtk/plugingui.c
+--- xchat-2.6.4.orig/src/fe-gtk/plugingui.c Thu Oct 20 06:37:04 2005
++++ xchat-2.6.4/src/fe-gtk/plugingui.c Wed Jun 21 18:30:04 2006
+@@ -149,7 +149,9 @@
+ plugingui_load (void)
+ {
+ gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb,
+- current_sess, NULL, FRF_ADDFOLDER);
++ current_sess,
++ "Plugins and Scripts\000" "*.dll;*.pl;*.tcl;*.py\000"
++ "All files\000" "*.*\000", 0);
+ }
+
+ static void
+diff -ruN xchat-2.6.4.orig/src/fe-gtk/xchat.exe.manifest xchat-2.6.4/src/fe-gtk/xchat.exe.manifest
+--- xchat-2.6.4.orig/src/fe-gtk/xchat.exe.manifest Thu Jan 1 02:00:00 1970
++++ xchat-2.6.4/src/fe-gtk/xchat.exe.manifest Wed Jun 21 18:30:04 2006
+@@ -0,0 +1,16 @@
++
++
++
++IRC Client
++
++