summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYing-Chieh Liao <ijliao@FreeBSD.org>2002-12-20 05:33:16 +0000
committerYing-Chieh Liao <ijliao@FreeBSD.org>2002-12-20 05:33:16 +0000
commitc6b77211c2560873758c016cf49cd5bb5b8d8b94 (patch)
tree595e54d07afeba427a07e3936fa8b185755b4241
parentAlways create a link from ${MACHINE_ARCH}-freebsd-cc.rul to the i386 (diff)
upgrade to 4.9.0
some bug fix, jabber support, msn support enhanced, no libsigc++, segfault fix Approved by: portmgr(steve)
-rw-r--r--net-im/centericq/Makefile7
-rw-r--r--net-im/centericq/distinfo2
-rw-r--r--net-im/centericq/files/patch-msnhook.cc145
-rw-r--r--net-im/centericq/files/patch-src::centericq.cc16
-rw-r--r--net-im/centericq/files/patch-src:Makefile.in12
-rw-r--r--net/centericq/Makefile7
-rw-r--r--net/centericq/distinfo2
-rw-r--r--net/centericq/files/patch-msnhook.cc145
-rw-r--r--net/centericq/files/patch-src::centericq.cc16
-rw-r--r--net/centericq/files/patch-src:Makefile.in12
10 files changed, 158 insertions, 206 deletions
diff --git a/net-im/centericq/Makefile b/net-im/centericq/Makefile
index 853978d3e59d..170a0f75b905 100644
--- a/net-im/centericq/Makefile
+++ b/net-im/centericq/Makefile
@@ -7,8 +7,8 @@
#
PORTNAME= centericq
-PORTVERSION= 4.8.7
-PORTREVISION= 5
+PORTVERSION= 4.9.0
+PORTREVISION= 0
CATEGORIES= net
MASTER_SITES= http://konst.org.ua/download/
@@ -16,15 +16,16 @@ MAINTAINER= ijliao@FreeBSD.org
LIB_DEPENDS= intl.4:${PORTSDIR}/devel/gettext \
iconv.3:${PORTSDIR}/converters/libiconv \
- sigc.1:${PORTSDIR}/devel/libsigc++
# fribidi.0:${PORTSDIR}/converters/fribidi
+USE_OPENSSL= yes
USE_GMAKE= yes
USE_GNOMENG= yes
USE_GNOME= glib12
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib -lstdc++"
+CONFIGURE_ARGS= --with-openssl
#CONFIGURE_ARGS= --with-fribidi
MAN1= centericq.1
diff --git a/net-im/centericq/distinfo b/net-im/centericq/distinfo
index 74660a238106..d7e10837f4a5 100644
--- a/net-im/centericq/distinfo
+++ b/net-im/centericq/distinfo
@@ -1 +1 @@
-MD5 (centericq-4.8.7.tar.gz) = 25fcdf52b5d755656ccd2c08ce3c0326
+MD5 (centericq-4.9.0.tar.gz) = c9b15040720dd5e7d099603f8b34021c
diff --git a/net-im/centericq/files/patch-msnhook.cc b/net-im/centericq/files/patch-msnhook.cc
index e5965c3f0fac..9d8a7559f832 100644
--- a/net-im/centericq/files/patch-msnhook.cc
+++ b/net-im/centericq/files/patch-msnhook.cc
@@ -1,61 +1,51 @@
---- src/hooks/msnhook.cc Mon Oct 28 19:29:41 2002
-+++ src/hooks/msnhook.cc Tue Nov 26 16:10:34 2002
-@@ -30,6 +30,7 @@
+--- src/hooks/msnhook.cc Fri Dec 13 00:17:12 2002
++++ src/hooks/msnhook.cc Wed Dec 18 14:57:02 2002
+@@ -29,6 +29,7 @@
+ #include "accountmanager.h"
#include "eventmanager.h"
- #include "centericq.h"
#include "imlogger.h"
+#include "utf8conv.h"
- msnhook mhook;
+ #include "msn_bittybits.h"
-@@ -159,7 +160,8 @@
+@@ -225,7 +226,8 @@
}
icqcontact *c = clist.get(ev.getcontact());
- text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8");
-+ text = StrToUtf8(text);
+// text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8");
- // text = toutf8(rusconv("kw", text));
++ text = StrToUtf8(text);
if(c)
-@@ -274,8 +276,8 @@
- m.homepage = "http://members.msn.com/" + b.email;
-
- if(!friendlynicks[ic.nickname].empty()) {
-- c->setdispnick(friendlynicks[ic.nickname]);
-- b.fname = friendlynicks[ic.nickname];
-+ c->setdispnick(Utf8ToStr(friendlynicks[ic.nickname]));
-+ b.fname = Utf8ToStr(friendlynicks[ic.nickname]);
- }
+ if(c->getstatus() != offline || !c->inlist()) {
+@@ -556,7 +558,8 @@
- c->setbasicinfo(b);
-@@ -371,7 +373,8 @@
- }
+ mhook.checkinlist(ic);
- // text = rusconv("wk", fromutf8(d->msg));
-- text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
-+// text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
-+ text = Utf8ToStr(d->msg);
- em.store(immessage(ic, imevent::incoming, text));
+- string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
++// string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
++ string text = Utf8ToStr(msg->body);
+ em.store(immessage(ic, imevent::incoming, text));
+ }
- if(c)
-@@ -453,3 +456,136 @@
- clist.get(contactroot)->playsound(imevent::email);
+@@ -717,3 +720,138 @@
+ log(string("[OUT] ") + buf);
}
}
++
+#if HAVE_ICONV_H
+int safe_iconv( iconv_t handle, const char **inbuf, size_t *inbytesleft,
-+ char **outbuf, size_t *outbytesleft)
++ char **outbuf, size_t *outbytesleft)
+{
+ int ret;
+ while (*inbytesleft) {
-+ ret = iconv( handle, inbuf, inbytesleft,
-+ outbuf, outbytesleft);
-+ if (!*inbytesleft || !*outbytesleft)
-+ return ret;
-+ /*got invalid seq - so replace it with '?' */
-+ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--;
-+ (*inbuf)++; (*inbytesleft)--;
++ ret = iconv( handle, inbuf, inbytesleft,
++ outbuf, outbytesleft);
++ if (!*inbytesleft || !*outbytesleft)
++ return ret;
++ /*got invalid seq - so replace it with '?' */
++ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--;
++ (*inbuf)++; (*inbytesleft)--;
+ }
+ return ret;
+}
@@ -65,28 +55,28 @@
+ char *lang, *ch;
+ /* Return previously learned charset */
+ if (loc_charset[0])
-+ return loc_charset;
++ return loc_charset;
+
+ lang = getenv("LANG");
+ if (!lang) {
-+ strcpy( loc_charset, DEFAULT_CHARSET );
-+ return loc_charset;
++ strcpy( loc_charset, DEFAULT_CHARSET );
++ return loc_charset;
+ };
+ ch = strrchr( lang, '.' );
+ if (!ch)
-+ strcpy( loc_charset, DEFAULT_CHARSET );
++ strcpy( loc_charset, DEFAULT_CHARSET );
+ else {
-+ iconv_t pt;
-+ ch++;
-+ strncpy( loc_charset, ch, sizeof(loc_charset) );
-+ /* try to open iconv handle using guessed charset */
-+ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) )
-+ {
-+ strcpy( loc_charset, DEFAULT_CHARSET );
-+ } else {
-+ iconv_close(pt);
-+ };
-+
++ iconv_t pt;
++ ch++;
++ strncpy( loc_charset, ch, sizeof(loc_charset) );
++ /* try to open iconv handle using guessed charset */
++ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) )
++ {
++ strcpy( loc_charset, DEFAULT_CHARSET );
++ } else {
++ iconv_close(pt);
++ };
++
+ }
+
+ return loc_charset;
@@ -102,16 +92,16 @@
+
+ iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ return outbuf_save;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++
++ *outbuf = '\0';
++ iconv_close( handle );
++ return outbuf_save;
+ } else {
-+ return (char *)inbuf;
++ return (char *)inbuf;
+ };
+}
-+
++
+std::string StrToUtf8( const std::string &instr )
+{
+ size_t length = instr.length();
@@ -123,18 +113,18 @@
+
+ iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+
-+ *outbuf = '\0';
-+ iconv_close( handle );
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++
++ *outbuf = '\0';
++ iconv_close( handle );
+
-+ std::string return_me = outbuf_save;
-+ return return_me;
++ std::string return_me = outbuf_save;
++ return return_me;
+ } else {
-+ return instr;
++ return instr;
+ };
+}
-+
++
+char *Utf8ToStr( const char *inbuf )
+{
+ size_t length = strlen( inbuf );
@@ -145,12 +135,12 @@
+
+ iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ return outbuf_save;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++ *outbuf = '\0';
++ iconv_close( handle );
++ return outbuf_save;
+ } else {
-+ return (char *)inbuf;
++ return (char *)inbuf;
+ };
+}
+
@@ -166,13 +156,14 @@
+ iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" );
+
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ std::string return_me = outbuf_save;
-+ return return_me;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++ *outbuf = '\0';
++ iconv_close( handle );
++ std::string return_me = outbuf_save;
++ return return_me;
+ } else {
-+ return instr;
++ return instr;
+ };
+}
+#endif /* HAVE_ICONV_H */
++
diff --git a/net-im/centericq/files/patch-src::centericq.cc b/net-im/centericq/files/patch-src::centericq.cc
deleted file mode 100644
index a3fa52c27c8d..000000000000
--- a/net-im/centericq/files/patch-src::centericq.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- src/centericq.cc 2002/11/21 14:55:51 1.1
-+++ src/centericq.cc 2002/11/21 14:56:12
-@@ -1460,8 +1460,8 @@
- unsigned char *table = 0;
-
- #ifdef HAVE_ICONV_H
-- if(tdir == "kw") r = siconv(text, "koi8-r", "cp1251"); else
-- if(tdir == "wk") r = siconv(text, "cp1251", "koi8-r"); else
-+ if(tdir == "kw") r = siconv(text, "koi8-u", "cp1251"); else
-+ if(tdir == "wk") r = siconv(text, "cp1251", "koi8-u"); else
- #endif
- r = text;
-
diff --git a/net-im/centericq/files/patch-src:Makefile.in b/net-im/centericq/files/patch-src:Makefile.in
index 4b74bd1708ae..ef9663819ec3 100644
--- a/net-im/centericq/files/patch-src:Makefile.in
+++ b/net-im/centericq/files/patch-src:Makefile.in
@@ -1,7 +1,7 @@
---- src/Makefile.in.orig Fri Oct 18 17:57:39 2002
-+++ src/Makefile.in Fri Oct 18 17:57:55 2002
-@@ -100,3 +100,3 @@
- centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.3.3 -L$(top_srcdir)/libmsn-0.1 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1
--centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@
-+centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@ -lintl
+--- src/Makefile.in.orig Wed Dec 18 10:32:12 2002
++++ src/Makefile.in Wed Dec 18 10:32:49 2002
+@@ -96,3 +96,3 @@
+ centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.4.0 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1 -L$(top_srcdir)/libjabber-0.1 -L$(top_srcdir)/connwrap-0.1 -L$(top_srcdir)/blip-0.1
+-centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@
++centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@ -lintl
SUBDIRS = hooks
diff --git a/net/centericq/Makefile b/net/centericq/Makefile
index 853978d3e59d..170a0f75b905 100644
--- a/net/centericq/Makefile
+++ b/net/centericq/Makefile
@@ -7,8 +7,8 @@
#
PORTNAME= centericq
-PORTVERSION= 4.8.7
-PORTREVISION= 5
+PORTVERSION= 4.9.0
+PORTREVISION= 0
CATEGORIES= net
MASTER_SITES= http://konst.org.ua/download/
@@ -16,15 +16,16 @@ MAINTAINER= ijliao@FreeBSD.org
LIB_DEPENDS= intl.4:${PORTSDIR}/devel/gettext \
iconv.3:${PORTSDIR}/converters/libiconv \
- sigc.1:${PORTSDIR}/devel/libsigc++
# fribidi.0:${PORTSDIR}/converters/fribidi
+USE_OPENSSL= yes
USE_GMAKE= yes
USE_GNOMENG= yes
USE_GNOME= glib12
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="${CXXFLAGS} -I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib -lstdc++"
+CONFIGURE_ARGS= --with-openssl
#CONFIGURE_ARGS= --with-fribidi
MAN1= centericq.1
diff --git a/net/centericq/distinfo b/net/centericq/distinfo
index 74660a238106..d7e10837f4a5 100644
--- a/net/centericq/distinfo
+++ b/net/centericq/distinfo
@@ -1 +1 @@
-MD5 (centericq-4.8.7.tar.gz) = 25fcdf52b5d755656ccd2c08ce3c0326
+MD5 (centericq-4.9.0.tar.gz) = c9b15040720dd5e7d099603f8b34021c
diff --git a/net/centericq/files/patch-msnhook.cc b/net/centericq/files/patch-msnhook.cc
index e5965c3f0fac..9d8a7559f832 100644
--- a/net/centericq/files/patch-msnhook.cc
+++ b/net/centericq/files/patch-msnhook.cc
@@ -1,61 +1,51 @@
---- src/hooks/msnhook.cc Mon Oct 28 19:29:41 2002
-+++ src/hooks/msnhook.cc Tue Nov 26 16:10:34 2002
-@@ -30,6 +30,7 @@
+--- src/hooks/msnhook.cc Fri Dec 13 00:17:12 2002
++++ src/hooks/msnhook.cc Wed Dec 18 14:57:02 2002
+@@ -29,6 +29,7 @@
+ #include "accountmanager.h"
#include "eventmanager.h"
- #include "centericq.h"
#include "imlogger.h"
+#include "utf8conv.h"
- msnhook mhook;
+ #include "msn_bittybits.h"
-@@ -159,7 +160,8 @@
+@@ -225,7 +226,8 @@
}
icqcontact *c = clist.get(ev.getcontact());
- text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8");
-+ text = StrToUtf8(text);
+// text = siconv(text, conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET, "utf8");
- // text = toutf8(rusconv("kw", text));
++ text = StrToUtf8(text);
if(c)
-@@ -274,8 +276,8 @@
- m.homepage = "http://members.msn.com/" + b.email;
-
- if(!friendlynicks[ic.nickname].empty()) {
-- c->setdispnick(friendlynicks[ic.nickname]);
-- b.fname = friendlynicks[ic.nickname];
-+ c->setdispnick(Utf8ToStr(friendlynicks[ic.nickname]));
-+ b.fname = Utf8ToStr(friendlynicks[ic.nickname]);
- }
+ if(c->getstatus() != offline || !c->inlist()) {
+@@ -556,7 +558,8 @@
- c->setbasicinfo(b);
-@@ -371,7 +373,8 @@
- }
+ mhook.checkinlist(ic);
- // text = rusconv("wk", fromutf8(d->msg));
-- text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
-+// text = siconv(d->msg, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
-+ text = Utf8ToStr(d->msg);
- em.store(immessage(ic, imevent::incoming, text));
+- string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
++// string text = siconv(msg->body, "utf8", conf.getrussian() ? "koi8-u" : DEFAULT_CHARSET);
++ string text = Utf8ToStr(msg->body);
+ em.store(immessage(ic, imevent::incoming, text));
+ }
- if(c)
-@@ -453,3 +456,136 @@
- clist.get(contactroot)->playsound(imevent::email);
+@@ -717,3 +720,138 @@
+ log(string("[OUT] ") + buf);
}
}
++
+#if HAVE_ICONV_H
+int safe_iconv( iconv_t handle, const char **inbuf, size_t *inbytesleft,
-+ char **outbuf, size_t *outbytesleft)
++ char **outbuf, size_t *outbytesleft)
+{
+ int ret;
+ while (*inbytesleft) {
-+ ret = iconv( handle, inbuf, inbytesleft,
-+ outbuf, outbytesleft);
-+ if (!*inbytesleft || !*outbytesleft)
-+ return ret;
-+ /*got invalid seq - so replace it with '?' */
-+ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--;
-+ (*inbuf)++; (*inbytesleft)--;
++ ret = iconv( handle, inbuf, inbytesleft,
++ outbuf, outbytesleft);
++ if (!*inbytesleft || !*outbytesleft)
++ return ret;
++ /*got invalid seq - so replace it with '?' */
++ **outbuf = '?'; (*outbuf)++; (*outbytesleft)--;
++ (*inbuf)++; (*inbytesleft)--;
+ }
+ return ret;
+}
@@ -65,28 +55,28 @@
+ char *lang, *ch;
+ /* Return previously learned charset */
+ if (loc_charset[0])
-+ return loc_charset;
++ return loc_charset;
+
+ lang = getenv("LANG");
+ if (!lang) {
-+ strcpy( loc_charset, DEFAULT_CHARSET );
-+ return loc_charset;
++ strcpy( loc_charset, DEFAULT_CHARSET );
++ return loc_charset;
+ };
+ ch = strrchr( lang, '.' );
+ if (!ch)
-+ strcpy( loc_charset, DEFAULT_CHARSET );
++ strcpy( loc_charset, DEFAULT_CHARSET );
+ else {
-+ iconv_t pt;
-+ ch++;
-+ strncpy( loc_charset, ch, sizeof(loc_charset) );
-+ /* try to open iconv handle using guessed charset */
-+ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) )
-+ {
-+ strcpy( loc_charset, DEFAULT_CHARSET );
-+ } else {
-+ iconv_close(pt);
-+ };
-+
++ iconv_t pt;
++ ch++;
++ strncpy( loc_charset, ch, sizeof(loc_charset) );
++ /* try to open iconv handle using guessed charset */
++ if ( (pt = iconv_open( loc_charset, loc_charset )) == (iconv_t)(-1) )
++ {
++ strcpy( loc_charset, DEFAULT_CHARSET );
++ } else {
++ iconv_close(pt);
++ };
++
+ }
+
+ return loc_charset;
@@ -102,16 +92,16 @@
+
+ iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ return outbuf_save;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++
++ *outbuf = '\0';
++ iconv_close( handle );
++ return outbuf_save;
+ } else {
-+ return (char *)inbuf;
++ return (char *)inbuf;
+ };
+}
-+
++
+std::string StrToUtf8( const std::string &instr )
+{
+ size_t length = instr.length();
@@ -123,18 +113,18 @@
+
+ iconv_t handle = iconv_open( "utf-8", guess_current_locale_charset() );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+
-+ *outbuf = '\0';
-+ iconv_close( handle );
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++
++ *outbuf = '\0';
++ iconv_close( handle );
+
-+ std::string return_me = outbuf_save;
-+ return return_me;
++ std::string return_me = outbuf_save;
++ return return_me;
+ } else {
-+ return instr;
++ return instr;
+ };
+}
-+
++
+char *Utf8ToStr( const char *inbuf )
+{
+ size_t length = strlen( inbuf );
@@ -145,12 +135,12 @@
+
+ iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" );
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ return outbuf_save;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++ *outbuf = '\0';
++ iconv_close( handle );
++ return outbuf_save;
+ } else {
-+ return (char *)inbuf;
++ return (char *)inbuf;
+ };
+}
+
@@ -166,13 +156,14 @@
+ iconv_t handle = iconv_open( guess_current_locale_charset(), "utf-8" );
+
+ if(((int) handle) != -1) {
-+ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
-+ *outbuf = '\0';
-+ iconv_close( handle );
-+ std::string return_me = outbuf_save;
-+ return return_me;
++ ret = safe_iconv( handle, (const char **) &inbuf, &length, &outbuf, &outmaxlength );
++ *outbuf = '\0';
++ iconv_close( handle );
++ std::string return_me = outbuf_save;
++ return return_me;
+ } else {
-+ return instr;
++ return instr;
+ };
+}
+#endif /* HAVE_ICONV_H */
++
diff --git a/net/centericq/files/patch-src::centericq.cc b/net/centericq/files/patch-src::centericq.cc
deleted file mode 100644
index a3fa52c27c8d..000000000000
--- a/net/centericq/files/patch-src::centericq.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-
-$FreeBSD$
-
---- src/centericq.cc 2002/11/21 14:55:51 1.1
-+++ src/centericq.cc 2002/11/21 14:56:12
-@@ -1460,8 +1460,8 @@
- unsigned char *table = 0;
-
- #ifdef HAVE_ICONV_H
-- if(tdir == "kw") r = siconv(text, "koi8-r", "cp1251"); else
-- if(tdir == "wk") r = siconv(text, "cp1251", "koi8-r"); else
-+ if(tdir == "kw") r = siconv(text, "koi8-u", "cp1251"); else
-+ if(tdir == "wk") r = siconv(text, "cp1251", "koi8-u"); else
- #endif
- r = text;
-
diff --git a/net/centericq/files/patch-src:Makefile.in b/net/centericq/files/patch-src:Makefile.in
index 4b74bd1708ae..ef9663819ec3 100644
--- a/net/centericq/files/patch-src:Makefile.in
+++ b/net/centericq/files/patch-src:Makefile.in
@@ -1,7 +1,7 @@
---- src/Makefile.in.orig Fri Oct 18 17:57:39 2002
-+++ src/Makefile.in Fri Oct 18 17:57:55 2002
-@@ -100,3 +100,3 @@
- centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.3.3 -L$(top_srcdir)/libmsn-0.1 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1
--centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@
-+centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -llibmsn -lfiretalk -llibyahoo2 @INTLLIBS@ -lintl
+--- src/Makefile.in.orig Wed Dec 18 10:32:12 2002
++++ src/Makefile.in Wed Dec 18 10:32:49 2002
+@@ -96,3 +96,3 @@
+ centericq_LDFLAGS = -L$(top_srcdir)/kkconsui-0.1 -L$(top_srcdir)/kkstrtext-0.1 -L$(top_srcdir)/kksystr-0.1 -L$(top_srcdir)/libicq2000-0.4.0 -L$(top_srcdir)/firetalk-0.1 -L$(top_srcdir)/libyahoo2-0.1 -L$(top_srcdir)/libjabber-0.1 -L$(top_srcdir)/connwrap-0.1 -L$(top_srcdir)/blip-0.1
+-centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@
++centericq_LDADD = $(top_srcdir)/src/hooks/libhooks.a -lkkconsui -lkkstrtext -lkksystr -llibicq2000 -lfiretalk -llibyahoo2 -llibjabber -lconnwrap -lblip @INTLLIBS@ -lintl
SUBDIRS = hooks