aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog27
-rw-r--r--camel/Makefile.am5
-rw-r--r--camel/camel-charset-map.c7
-rw-r--r--camel/camel-mime-filter-charset.h4
-rw-r--r--camel/camel-mime-parser.c2
-rw-r--r--camel/camel-mime-utils.c22
-rw-r--r--camel/camel-pgp-context.c9
-rw-r--r--camel/camel-search-private.c76
-rw-r--r--camel/camel.c3
-rw-r--r--camel/providers/local/Makefile.am2
-rw-r--r--camel/providers/pop3/Makefile.am2
-rw-r--r--camel/providers/smtp/Makefile.am2
-rw-r--r--camel/tests/message/test2.c25
13 files changed, 83 insertions, 103 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index f949548ade..a65bb55a07 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,32 @@
2001-04-26 Dan Winship <danw@ximian.com>
+ * Makefile.am (INCLUDES): Remove UNICODE_CFLAGS (and some other
+ stuff that's redundant with EXTRA_GNOME_CFLAGS)
+ (libcamel_la_LIBADD): Replace UNICODE_LIBS with GAL_LIBS.
+
+ * camel-search-private.c:
+ * camel-pgp-context.c:
+ * camel-mime-utils.c: Use gunicode interfaces rather than
+ libunicode.
+
+ * camel-charset-map.c: Use gunicode rather than libunicode. (The
+ charmap-regen code still depends on libunicode though.)
+
+ * camel-mime-filter-charset.h:
+ * tests/message/test2.c (convert): Use iconv rather than
+ unicode_iconv.
+
+ * providers/smtp/Makefile.am (libcamelsmtp_la_LIBADD):
+ * providers/pop3/Makefile.am (libcamelpop3_la_LIBADD):
+ * providers/local/Makefile.am (libcamellocal_la_LIBADD): Remove
+ UNICODE_LIBS.
+
+ * camel.c (camel_init): Remove call to unicode_init.
+
+ * camel-mime-parser.c: Remove unused unicode.h include.
+
+2001-04-26 Dan Winship <danw@ximian.com>
+
* camel-service.c (get_host): Use e_gethostbyname_r.
(camel_service_gethost): Remove unused var.
diff --git a/camel/Makefile.am b/camel/Makefile.am
index 9c44351bbf..5c24cd06df 100644
--- a/camel/Makefile.am
+++ b/camel/Makefile.am
@@ -10,10 +10,7 @@ lib_LTLIBRARIES = libcamel.la
INCLUDES = -I.. -I$(srcdir)/.. \
-I$(top_srcdir)/intl \
-I$(top_srcdir)/e-util \
- $(GNOME_INCLUDEDIR) \
- $(GLIB_CFLAGS) \
$(GNOME_XML_CFLAGS) \
- $(UNICODE_CFLAGS) \
$(EXTRA_GNOME_CFLAGS) \
$(KRB4_CFLAGS) \
$(NSPR_CFLAGS) \
@@ -173,7 +170,7 @@ libcamelinclude_HEADERS = \
libcamel_la_LDFLAGS = -version-info 0:0:0 -rpath $(libdir)
libcamel_la_LIBADD = $(top_builddir)/e-util/libeutil.la \
- $(UNICODE_LIBS) \
+ $(GAL_LIBS) \
$(KRB4_LDFLAGS) \
$(NSPR_LDFLAGS) \
$(NSS_LDFLAGS)
diff --git a/camel/camel-charset-map.c b/camel/camel-charset-map.c
index dac774bdf2..d7aa8763dd 100644
--- a/camel/camel-charset-map.c
+++ b/camel/camel-charset-map.c
@@ -201,7 +201,7 @@ void main(void)
#include "camel-charset-map.h"
#include "camel-charset-map-private.h"
-#include <unicode.h>
+#include <gal/unicode/gunicode.h>
#include <locale.h>
#include <string.h>
#include <glib.h>
@@ -224,13 +224,14 @@ camel_charset_step(CamelCharset *c, const char *in, int len)
/* check what charset a given string will fit in */
while (inptr < inend) {
- unicode_char_t c;
+ gunichar c;
const char *newinptr;
- newinptr = unicode_get_utf8(inptr, &c);
+ newinptr = g_utf8_next_char(inptr);
if (newinptr == NULL) {
inptr++;
continue;
}
+ c = g_utf8_get_char(inptr);
inptr = newinptr;
if (c<=0xffff) {
mask &= charset_mask(c);
diff --git a/camel/camel-mime-filter-charset.h b/camel/camel-mime-filter-charset.h
index ba1586ca7a..f9c78e8896 100644
--- a/camel/camel-mime-filter-charset.h
+++ b/camel/camel-mime-filter-charset.h
@@ -22,7 +22,7 @@
#define _CAMEL_MIME_FILTER_CHARSET_H
#include <camel/camel-mime-filter.h>
-#include <unicode.h>
+#include <iconv.h>
#define CAMEL_MIME_FILTER_CHARSET(obj) CAMEL_CHECK_CAST (obj, camel_mime_filter_charset_get_type (), CamelMimeFilterCharset)
#define CAMEL_MIME_FILTER_CHARSET_CLASS(klass) CAMEL_CHECK_CLASS_CAST (klass, camel_mime_filter_charset_get_type (), CamelMimeFilterCharsetClass)
@@ -35,7 +35,7 @@ struct _CamelMimeFilterCharset {
struct _CamelMimeFilterCharsetPrivate *priv;
- unicode_iconv_t ic;
+ iconv_t ic;
char *from;
char *to;
};
diff --git a/camel/camel-mime-parser.c b/camel/camel-mime-parser.c
index d08beffca7..77c39ddde9 100644
--- a/camel/camel-mime-parser.c
+++ b/camel/camel-mime-parser.c
@@ -35,8 +35,6 @@
#include <stdio.h>
#include <errno.h>
-#include <unicode.h>
-
#include <regex.h>
#include <ctype.h>
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index 510323312c..7e486689ef 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -38,7 +38,6 @@
#define MAXHOSTNAMELEN 1024
#endif
-#include <unicode.h>
#include <iconv.h>
#include <time.h>
@@ -48,6 +47,7 @@
#include <regex.h>
#include <glib.h>
+#include <gal/unicode/gunicode.h>
#include "camel-mime-utils.h"
#include "camel-charset-map.h"
@@ -128,7 +128,7 @@ static unsigned char camel_mime_base64_rank[256] = {
if any of these change, then the tables above should be regenerated
by compiling this with -DBUILD_TABLE, and running.
- gcc -DCLEAN_DATE -o buildtable -I.. `glib-config --cflags --libs` -lunicode -DBUILD_TABLE camel-mime-utils.c camel-charset-map.c
+ gcc -DCLEAN_DATE -o buildtable -I.. `gnome-config --cflags --libs gal` -DBUILD_TABLE camel-mime-utils.c camel-charset-map.c
./buildtable
*/
@@ -1277,18 +1277,19 @@ header_encode_string (const unsigned char *in)
word = NULL;
start = inptr;
while (inptr && *inptr) {
- unicode_char_t c;
+ gunichar c;
const char *newinptr;
- newinptr = unicode_get_utf8 (inptr, &c);
+ newinptr = g_utf8_next_char (inptr);
if (newinptr == NULL) {
w(g_warning ("Invalid UTF-8 sequence encountered (pos %d, char '%c'): %s",
(inptr-in), inptr[0], in));
inptr++;
continue;
}
+ c = g_utf8_get_char (inptr);
- if (unicode_isspace (c) && !last_was_space) {
+ if (g_unichar_isspace (c) && !last_was_space) {
/* we've reached the end of a 'word' */
if (word && !(last_was_encoded && encoding)) {
g_string_append_len (out, start, word - start);
@@ -1327,11 +1328,11 @@ header_encode_string (const unsigned char *in)
} else if (c >= 256) {
encoding = MAX (encoding, 2);
last_was_space = FALSE;
- } else if (!unicode_isspace (c)) {
+ } else if (!g_unichar_isspace (c)) {
last_was_space = FALSE;
}
- if (!unicode_isspace (c) && !word)
+ if (!g_unichar_isspace (c) && !word)
word = inptr;
inptr = newinptr;
@@ -1422,19 +1423,20 @@ header_encode_phrase_get_words (const unsigned char *in)
start = inptr;
encoding = 0;
while (inptr && *inptr) {
- unicode_char_t c;
+ gunichar c;
const char *newinptr;
- newinptr = unicode_get_utf8 (inptr, &c);
+ newinptr = g_utf8_next_char (inptr);
if (newinptr == NULL) {
w(g_warning ("Invalid UTF-8 sequence encountered (pos %d, char '%c'): %s",
(inptr - in), inptr[0], in));
inptr++;
continue;
}
+ c = g_utf8_get_char (inptr);
inptr = newinptr;
- if (unicode_isspace (c)) {
+ if (g_unichar_isspace (c)) {
if (count > 0) {
word = g_new0 (struct _phrase_word, 1);
word->start = start;
diff --git a/camel/camel-pgp-context.c b/camel/camel-pgp-context.c
index f69efde91f..f34d5f8c27 100644
--- a/camel/camel-pgp-context.c
+++ b/camel/camel-pgp-context.c
@@ -31,8 +31,6 @@
#include "camel-charset-map.h"
-#include <gtk/gtk.h> /* for _() macro */
-
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -52,8 +50,8 @@
#include <unistd.h>
#include <signal.h>
-#include <unicode.h>
#include <iconv.h>
+#include <gal/unicode/gunicode.h>
#define d(x)
@@ -992,14 +990,13 @@ pgp_verify (CamelCipherContext *ctx, CamelStream *istream,
*outbuf = '\0';
} else {
const char *inptr, *inend;
- unicode_char_t c;
inptr = diagnostics;
inend = inptr + inlen;
while (inptr && inptr < inend) {
- inptr = unicode_get_utf8 (inptr, &c);
- *outbuf++ = c & 0xff;
+ *outbuf++ = g_utf8_get_char (inptr) & 0xff;
+ inptr = g_utf8_next_char (inptr);
}
*outbuf = '\0';
diff --git a/camel/camel-search-private.c b/camel/camel-search-private.c
index de374c6127..e46cc29cc8 100644
--- a/camel/camel-search-private.c
+++ b/camel/camel-search-private.c
@@ -40,10 +40,11 @@
#include "camel-multipart.h"
#include "camel-stream-mem.h"
#include "e-util/e-sexp.h"
-#include <unicode.h>
#include "camel-search-private.h"
+#include <gal/unicode/gunicode.h>
+
#define d(x)
/* builds the regex into pattern */
@@ -190,55 +191,16 @@ header_soundex(const char *header, const char *match)
return truth;
}
-#if 0
-/* Why do it this way when the unicode lib already has a function to do this? */
-static unicode_char_t
-utf8_get (const char **inp)
-{
- guint32 c, v = 0, s, shift;
- const unsigned char *p = *inp;
-
- if (p == NULL)
- return 0;
-
- s = *p++;
- if ((s & 0x80) == 0) { /* 7 bit char */
- v = s;
- } else if (s>0xf7) { /* invalid char, we can only have upto 4 bits encoded */
- p = NULL;
- } else if (s>=0xc0) { /* valid start char */
- shift = 0;
- do {
- c = *p++;
- if ((c & 0xc0) == 0x80) {
- v = (v<<6) | (c&0x3f);
- shift += 5;
- } else {
- *inp = NULL;
- return 0;
- }
- s <<= 1;
- } while ((s & 0x80) != 0);
- v |= s << shift;
- } else { /* invalid start char, internal char */
- p = NULL;
- }
-
- *inp = p;
- return v;
-}
-#endif
-
-static unicode_char_t
+static gunichar
utf8_get (const char **inp)
{
const unsigned char *p = *inp;
- unicode_char_t c;
+ gunichar c;
g_return_val_if_fail (p != NULL, 0);
- p = unicode_get_utf8 (p, &c);
- *inp = p;
+ c = g_utf8_get_char (p);
+ *inp = g_utf8_next_char (p);
return c;
}
@@ -246,8 +208,8 @@ utf8_get (const char **inp)
static const char *
camel_ustrstrcase (const char *haystack, const char *needle)
{
- unicode_char_t *nuni, *puni;
- unicode_char_t u;
+ gunichar *nuni, *puni;
+ gunichar u;
const char *p;
g_return_val_if_fail (haystack != NULL, NULL);
@@ -258,11 +220,11 @@ camel_ustrstrcase (const char *haystack, const char *needle)
if (strlen(haystack) == 0)
return NULL;
- puni = nuni = alloca (sizeof (unicode_char_t) * strlen (needle));
+ puni = nuni = alloca (sizeof (gunichar) * strlen (needle));
p = needle;
while ((u = utf8_get (&p)))
- *puni++ = unicode_tolower (u);
+ *puni++ = g_unichar_tolower (u);
/* NULL means there was illegal utf-8 sequence */
if (!p)
@@ -270,9 +232,9 @@ camel_ustrstrcase (const char *haystack, const char *needle)
p = haystack;
while ((u = utf8_get (&p))) {
- unicode_char_t c;
+ gunichar c;
- c = unicode_tolower (u);
+ c = g_unichar_tolower (u);
/* We have valid stripped char */
if (c == nuni[0]) {
const gchar *q = p;
@@ -283,7 +245,7 @@ camel_ustrstrcase (const char *haystack, const char *needle)
if (!q || !u)
return NULL;
- c = unicode_tolower (u);
+ c = g_unichar_tolower (u);
if (c != nuni[npos])
break;
@@ -311,15 +273,15 @@ camel_ustrstrcase (const char *haystack, const char *needle)
static int
camel_ustrcasecmp (const char *s1, const char *s2)
{
- unicode_char_t u1, u2 = 0;
+ gunichar u1, u2 = 0;
CAMEL_SEARCH_COMPARE (s1, s2, NULL);
u1 = utf8_get (&s1);
u2 = utf8_get (&s2);
while (u1 && u2) {
- u1 = unicode_tolower (u1);
- u2 = unicode_tolower (u2);
+ u1 = g_unichar_tolower (u1);
+ u2 = g_unichar_tolower (u2);
if (u1 < u2)
return -1;
else if (u1 > u2)
@@ -341,15 +303,15 @@ camel_ustrcasecmp (const char *s1, const char *s2)
static int
camel_ustrncasecmp (const char *s1, const char *s2, size_t len)
{
- unicode_char_t u1, u2 = 0;
+ gunichar u1, u2 = 0;
CAMEL_SEARCH_COMPARE (s1, s2, NULL);
u1 = utf8_get (&s1);
u2 = utf8_get (&s2);
while (len > 0 && u1 && u2) {
- u1 = unicode_tolower (u1);
- u2 = unicode_tolower (u2);
+ u1 = g_unichar_tolower (u1);
+ u2 = g_unichar_tolower (u2);
if (u1 < u2)
return -1;
else if (u1 > u2)
diff --git a/camel/camel.c b/camel/camel.c
index 6228c7227c..f2d8b8d369 100644
--- a/camel/camel.c
+++ b/camel/camel.c
@@ -27,7 +27,6 @@
#include <config.h>
#endif
-#include <unicode.h>
#ifdef HAVE_NSS
#include <nspr.h>
#include <prthread.h>
@@ -53,8 +52,6 @@ camel_init (const char *certdb_dir, gboolean nss_init)
if (getenv ("CAMEL_VERBOSE_DEBUG"))
camel_verbose_debug = TRUE;
- unicode_init ();
-
#ifdef HAVE_NSS
if (nss_init) {
PR_Init (PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 10);
diff --git a/camel/providers/local/Makefile.am b/camel/providers/local/Makefile.am
index 9130f62f81..9c6b353186 100644
--- a/camel/providers/local/Makefile.am
+++ b/camel/providers/local/Makefile.am
@@ -53,6 +53,6 @@ noinst_HEADERS = \
libcamellocal_la_LDFLAGS = -version-info 0:0:0
-libcamellocal_la_LIBADD = $(top_builddir)/e-util/libeutil.la $(top_builddir)/libibex/libibex.la $(UNICODE_LIBS)
+libcamellocal_la_LIBADD = $(top_builddir)/e-util/libeutil.la $(top_builddir)/libibex/libibex.la
EXTRA_DIST = libcamellocal.urls
diff --git a/camel/providers/pop3/Makefile.am b/camel/providers/pop3/Makefile.am
index 57fb938d89..476e3d3189 100644
--- a/camel/providers/pop3/Makefile.am
+++ b/camel/providers/pop3/Makefile.am
@@ -32,6 +32,6 @@ libcamelpop3include_HEADERS = \
libcamelpop3_la_LDFLAGS = $(KRB4_LDFLAGS) -version-info 0:0:0
-libcamelpop3_la_LIBADD = $(top_builddir)/e-util/libeutil.la $(UNICODE_LIBS)
+libcamelpop3_la_LIBADD = $(top_builddir)/e-util/libeutil.la
EXTRA_DIST = libcamelpop3.urls
diff --git a/camel/providers/smtp/Makefile.am b/camel/providers/smtp/Makefile.am
index 45e1d77f8c..74597f57f5 100644
--- a/camel/providers/smtp/Makefile.am
+++ b/camel/providers/smtp/Makefile.am
@@ -31,6 +31,6 @@ libcamelsmtpinclude_HEADERS = \
libcamelsmtp_la_LDFLAGS = -version-info 0:0:0
-libcamelsmtp_la_LIBADD = $(top_builddir)/e-util/libeutil.la $(UNICODE_LIBS)
+libcamelsmtp_la_LIBADD = $(top_builddir)/e-util/libeutil.la
EXTRA_DIST = libcamelsmtp.urls
diff --git a/camel/tests/message/test2.c b/camel/tests/message/test2.c
index abeafa9524..95b0e324aa 100644
--- a/camel/tests/message/test2.c
+++ b/camel/tests/message/test2.c
@@ -7,8 +7,7 @@
#include <unistd.h>
#include <string.h>
#include <stdio.h>
-
-#include <unicode.h>
+#include <iconv.h>
#include <camel/camel-internet-address.h>
#include <camel/camel-address.h>
@@ -17,12 +16,12 @@
static char *convert(const char *in, const char *from, const char *to)
{
- unicode_iconv_t ic = unicode_iconv_open(to, from);
+ iconv_t ic = iconv_open(to, from);
char *out, *outp;
const char *inp;
int inlen, outlen;
- if (ic == (unicode_iconv_t)-1)
+ if (ic == (iconv_t)-1)
return g_strdup(in);
inlen = strlen(in);
@@ -31,19 +30,19 @@ static char *convert(const char *in, const char *from, const char *to)
outp = out = g_malloc(outlen);
inp = in;
- if (unicode_iconv(ic, &inp, &inlen, &outp, &outlen) == -1) {
+ if (iconv(ic, &inp, &inlen, &outp, &outlen) == -1) {
test_free(out);
- unicode_iconv_close(ic);
+ iconv_close(ic);
return g_strdup(in);
}
- if (unicode_iconv(ic, NULL, 0, &outp, &outlen) == -1) {
+ if (iconv(ic, NULL, 0, &outp, &outlen) == -1) {
test_free(out);
- unicode_iconv_close(ic);
+ iconv_close(ic);
return g_strdup(in);
}
- unicode_iconv_close(ic);
+ iconv_close(ic);
*outp = 0;
@@ -51,17 +50,17 @@ static char *convert(const char *in, const char *from, const char *to)
/* lets see if we can convert back again? */
{
char *nout, *noutp;
- unicode_iconv_t ic = unicode_iconv_open(from, to);
+ iconv_t ic = iconv_open(from, to);
inp = out;
inlen = strlen(out);
outlen = inlen*5 + 16;
noutp = nout = g_malloc(outlen);
- if (unicode_iconv(ic, &inp, &inlen, &noutp, &outlen) == -1
- || unicode_iconv(ic, NULL, 0, &noutp, &outlen) == -1) {
+ if (iconv(ic, &inp, &inlen, &noutp, &outlen) == -1
+ || iconv(ic, NULL, 0, &noutp, &outlen) == -1) {
g_warning("Cannot convert '%s' \n from %s to %s: %s\n", in, to, from, strerror(errno));
}
- unicode_iconv_close(ic);
+ iconv_close(ic);
}
/* and lets see what camel thinks out optimal charset is */