summaryrefslogtreecommitdiff
path: root/gtk/gtktexttypes.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-09-14 21:19:11 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-09-14 21:19:11 +0000
commit2a9abf57ce235519ed59176b5ddc1070fb92b98a (patch)
tree84dbfaa5ff15ca6757360aa2c9430b4e10dfd0e8 /gtk/gtktexttypes.c
parent5fea69440e1f38e60aac0ea84af96b71e837487a (diff)
downloadgtk+-2a9abf57ce235519ed59176b5ddc1070fb92b98a.tar.gz
Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtktexttypes.[ch]: Remove g_convert (moved to glib) and now useless utf_to_latin1() latin1_to_utf()
Diffstat (limited to 'gtk/gtktexttypes.c')
-rw-r--r--gtk/gtktexttypes.c169
1 files changed, 0 insertions, 169 deletions
diff --git a/gtk/gtktexttypes.c b/gtk/gtktexttypes.c
index 0a05e0dac2..866344ab46 100644
--- a/gtk/gtktexttypes.c
+++ b/gtk/gtktexttypes.c
@@ -60,172 +60,3 @@ gtk_text_byte_begins_utf8_char(const gchar *byte)
return inline_byte_begins_utf8_char(byte);
}
-guint
-gtk_text_utf_to_latin1_char(const gchar *p, guchar *l1_ch)
-{
- guint charlen;
- gunichar ch;
-
- g_assert(inline_byte_begins_utf8_char(p));
-
- charlen = g_utf8_next_char (p) - p;
- ch = g_utf8_get_char (p);
-
- g_assert(ch != '\0');
-
- if (ch > 0xff)
- *l1_ch = '?';
- else
- *l1_ch = ch;
-
- return charlen;
-}
-
-gchar*
-gtk_text_utf_to_latin1(const gchar *p, gint len)
-{
- GString *str;
- guint i;
- gchar *retval;
-
- str = g_string_new("");
-
- i = 0;
- while (i < len)
- {
- guchar ch;
- guint charlen;
-
- charlen = gtk_text_utf_to_latin1_char(p+i, &ch);
-
- g_string_append_c(str, ch);
-
- i += charlen;
- }
-
- retval = str->str;
- g_string_free(str, FALSE);
-
- return retval;
-}
-
-gchar*
-gtk_text_latin1_to_utf (const gchar *latin1, gint len)
-{
- gint i;
- GString *retval;
- gchar *str;
-
- retval = g_string_new("");
-
- i = 0;
- while (i < len)
- {
- gchar utf[7];
- gint count;
-
- count = g_unichar_to_utf8 ((guchar)latin1[i], utf);
-
- utf[count] = '\0';
-
- g_string_append(retval, utf);
-
- ++i;
- }
-
- str = retval->str;
- g_string_free(retval, FALSE);
- return str;
-}
-
-
-
-#include <iconv.h>
-#include <errno.h>
-#include <string.h>
-
-gchar*
-g_convert (const gchar *str,
- gint len,
- const gchar *to_codeset,
- const gchar *from_codeset,
- gint *bytes_converted)
-{
- gchar *dest;
- gchar *outp;
- const gchar *p;
- size_t inbytes_remaining;
- size_t outbytes_remaining;
- size_t err;
- iconv_t cd;
- size_t outbuf_size;
-
- g_return_val_if_fail (str != NULL, NULL);
- g_return_val_if_fail (to_codeset != NULL, NULL);
- g_return_val_if_fail (from_codeset != NULL, NULL);
-
- cd = iconv_open (to_codeset, from_codeset);
-
- if (cd == (iconv_t) -1)
- {
- /* Something went wrong. */
- if (errno == EINVAL)
- g_warning ("Conversion from character set `%s' to `%s' is not supported",
- from_codeset, to_codeset);
- else
- g_warning ("Failed to convert character set `%s' to `%s': %s",
- from_codeset, to_codeset, strerror (errno));
-
- if (bytes_converted)
- *bytes_converted = 0;
-
- return NULL;
- }
-
- if (len < 0)
- len = strlen (str);
-
- p = str;
- inbytes_remaining = len;
- outbuf_size = len + 1; /* + 1 for nul in case len == 1 */
- outbytes_remaining = outbuf_size - 1; /* -1 for nul */
- outp = dest = g_malloc (outbuf_size);
-
- again:
-
- err = iconv (cd, &p, &inbytes_remaining, &outp, &outbytes_remaining);
-
- if (err == (size_t) -1)
- {
- if (errno == E2BIG)
- {
- size_t used = outp - dest;
- outbuf_size *= 2;
- dest = g_realloc (dest, outbuf_size);
-
- outp = dest + used;
- outbytes_remaining = outbuf_size - used - 1; /* -1 for nul */
-
- goto again;
- }
- else
- g_warning ("iconv() failed: %s", strerror (errno));
- }
-
- *outp = '\0';
-
- if (iconv_close (cd) != 0)
- g_warning ("Failed to close iconv() conversion descriptor: %s",
- strerror (errno));
-
- if (bytes_converted)
- *bytes_converted = p - str;
-
- if (p == str)
- {
- g_free (dest);
- return NULL;
- }
- else
- return dest;
-}