summaryrefslogtreecommitdiff
path: root/audio/scrobbler/files/extra-encodings-patch
diff options
context:
space:
mode:
Diffstat (limited to 'audio/scrobbler/files/extra-encodings-patch')
-rw-r--r--audio/scrobbler/files/extra-encodings-patch245
1 files changed, 0 insertions, 245 deletions
diff --git a/audio/scrobbler/files/extra-encodings-patch b/audio/scrobbler/files/extra-encodings-patch
deleted file mode 100644
index 6a88ab913194..000000000000
--- a/audio/scrobbler/files/extra-encodings-patch
+++ /dev/null
@@ -1,245 +0,0 @@
-diff -urp xmms-scrobbler-0.3.8.1/gtkstuff.c xmms-scrobbler-0.3.8.1-enc/gtkstuff.c
---- xmms-scrobbler-0.3.8.1/gtkstuff.c 2005-02-20 05:26:08.000000000 +0100
-+++ xmms-scrobbler-0.3.8.1-enc/gtkstuff.c 2005-12-13 22:02:56.000000000 +0100
-@@ -13,11 +13,14 @@
- #endif
- #include <stdio.h>
- #include <string.h>
-+#include <wchar.h>
- #include "config.h"
- #include "md5.h"
-+#include "tags/include/unicode.h"
-
- static GtkWidget *eduname,
-- *edpwd;
-+ *edpwd,
-+ *edenc;
- static int errorbox_done;
- void about_show(void)
- {
-@@ -115,6 +118,10 @@
-
- const char *pwd = gtk_entry_get_text(GTK_ENTRY(edpwd));
- const char *uid = gtk_entry_get_text(GTK_ENTRY(eduname));
-+ const char *enc = gtk_entry_get_text(GTK_ENTRY(edenc));
-+
-+ g_free(tags_encoding);
-+ tags_encoding = g_strdup(enc);
-
- if ((cfgfile = xmms_cfg_open_default_file())) {
-
-@@ -130,6 +137,9 @@
- xmms_cfg_write_string(cfgfile, "audioscrobbler", "password",
- (char *)hexify(md5pword, sizeof(md5pword)));
- }
-+
-+ xmms_cfg_write_string(cfgfile, "audioscrobbler", "encoding", (char *)enc);
-+
- #ifdef MAKE_XMMS
- xmms_cfg_write_default_file(cfgfile);
- #endif
-@@ -147,8 +157,10 @@
- *hbox,
- *unhbox,
- *pwhbox,
-+ *enhbox,
- *lblun,
- *lblpw,
-+ *lblen,
- *frame;
-
- ConfigFile *cfgfile;
-@@ -184,9 +196,16 @@
- gtk_entry_set_visibility(GTK_ENTRY(edpwd), FALSE);
- gtk_box_pack_start(GTK_BOX(pwhbox), lblpw, FALSE, FALSE, 3);
- gtk_box_pack_start(GTK_BOX(pwhbox), edpwd, FALSE, FALSE, 3);
-+
-+ enhbox = gtk_hbox_new(FALSE, 0);
-+ edenc = gtk_entry_new();
-+ lblen = gtk_label_new("Tags encoding");
-+ gtk_box_pack_start(GTK_BOX(enhbox), lblen, FALSE, FALSE, 3);
-+ gtk_box_pack_start(GTK_BOX(enhbox), edenc, FALSE, FALSE, 3);
-
- gtk_box_pack_start(GTK_BOX(vbox), unhbox, FALSE, FALSE, 3);
- gtk_box_pack_start(GTK_BOX(vbox), pwhbox, FALSE, FALSE, 3);
-+ gtk_box_pack_start(GTK_BOX(vbox), enhbox, FALSE, FALSE, 3);
-
- hbox = gtk_hbox_new(FALSE, 0);
-
-@@ -202,17 +221,26 @@
-
- gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3);
-
-- frame = gtk_frame_new(" The plugin will have to be restarted for changes to take effect! ");
-+ frame = gtk_frame_new(" The plugin will have to be restarted for username/password changes to take effect! ");
- gtk_container_add(GTK_CONTAINER(frame), vbox);
- gtk_container_add(GTK_CONTAINER(cnfdlg), frame);
- if ((cfgfile = xmms_cfg_open_default_file())) {
-- gchar *username = NULL;
-- xmms_cfg_read_string(cfgfile, "audioscrobbler", "username",
-- &username);
-- if (username) {
-- gtk_entry_set_text(GTK_ENTRY(eduname), username);
-- g_free(username);
-+ gchar *entry;
-+
-+ entry = NULL;
-+ xmms_cfg_read_string(cfgfile, "audioscrobbler", "username", &entry);
-+ if (entry) {
-+ gtk_entry_set_text(GTK_ENTRY(eduname), entry);
-+ g_free(entry);
-+ }
-+
-+ entry = NULL;
-+ xmms_cfg_read_string(cfgfile, "audioscrobbler", "encoding", &entry);
-+ if (entry) {
-+ gtk_entry_set_text(GTK_ENTRY(edenc), entry);
-+ g_free(entry);
- }
-+
- xmms_cfg_free(cfgfile);
- }
-
-diff -urp xmms-scrobbler-0.3.8.1/tags/include/unicode.h xmms-scrobbler-0.3.8.1-enc/tags/include/unicode.h
---- xmms-scrobbler-0.3.8.1/tags/include/unicode.h 2004-03-28 19:34:56.000000000 +0200
-+++ xmms-scrobbler-0.3.8.1-enc/tags/include/unicode.h 2005-12-13 22:00:35.000000000 +0100
-@@ -26,4 +26,6 @@ void iso88591_to_utf8(unsigned char *, s
- void utf16bom_to_utf8(unsigned char *, size_t, unsigned char **);
- void utf16be_to_utf8(unsigned char *, size_t, unsigned char **);
- void utf16le_to_utf8(unsigned char *, size_t, unsigned char **);
-+
-+extern char *tags_encoding;
- #endif
-diff -urp xmms-scrobbler-0.3.8.1/tags/unicode.c xmms-scrobbler-0.3.8.1-enc/tags/unicode.c
---- xmms-scrobbler-0.3.8.1/tags/unicode.c 2004-03-28 20:15:37.000000000 +0200
-+++ xmms-scrobbler-0.3.8.1-enc/tags/unicode.c 2005-12-13 22:31:34.000000000 +0100
-@@ -21,9 +21,84 @@
- #include <stdlib.h>
- #include <wchar.h>
- #include <string.h>
-+#include <iconv.h>
-+#include <glib.h>
-+#include <errno.h>
- #include "include/endian.h"
- #include "include/unicode.h"
-
-+char *tags_encoding = NULL;
-+
-+/*
-+ * generic iconv function
-+ * taken from gentoo libxmms - looks nice and works
-+ *
-+ * Tue Dec 13 22:15:06 CET 2005 - Kosma Moczek <kosmam@op.pl>
-+ */
-+static char* generic_iconv(const unsigned char *string, size_t insize, char *from, char *to)
-+{
-+ size_t outleft, outsize;
-+ iconv_t cd;
-+ char *out, *outptr;
-+ char *input = (char *) string;
-+
-+ if (!string) return NULL;
-+
-+// g_message("converting %s from %s to %s (%u)", string, from, to, insize);
-+
-+ /* check if the conversion is needed */
-+ if (!strcmp(from,to)) return g_strdup(string);
-+
-+ if ((cd = iconv_open(to, from)) == (iconv_t)-1)
-+ {
-+ g_warning("convert_string(): Conversion not supported. "
-+ "Charsets: %s -> %s", from, to);
-+ return g_strdup(string);
-+ }
-+
-+ /* Due to a GLIBC bug, round outbuf_size up to a multiple of 4 */
-+ /* + 1 for nul in case len == 1 */
-+ outsize = ((insize + 3) & ~3) + 1;
-+ out = g_malloc(outsize);
-+ outleft = outsize - 1;
-+ outptr = out;
-+
-+ retry:
-+ if (iconv(cd, &input, &insize, &outptr, &outleft) == -1)
-+ {
-+ int used;
-+ switch (errno)
-+ {
-+ case E2BIG:
-+ used = outptr - out;
-+ outsize = (outsize - 1) * 2 + 1;
-+ out = g_realloc(out, outsize);
-+ outptr = out + used;
-+ outleft = outsize - 1 - used;
-+ goto retry;
-+ case EINVAL:
-+ /* incomplete multibyte sequence (at the end of string)
-+ * - just quit, nothing to do here */
-+ break;
-+ case EILSEQ:
-+ /* Invalid sequence, try to get the
-+ rest of the string */
-+ input++;
-+ insize--;
-+ goto retry;
-+ default:
-+ g_warning("convert_string(): Conversion failed. "
-+ "Inputstring: %s; Error: %s",
-+ string, strerror(errno));
-+ break;
-+ }
-+ }
-+ *outptr = '\0';
-+
-+ iconv_close(cd);
-+ return out;
-+}
-+
- wchar_t *utf8_to_wchar(unsigned char *utf, size_t memsize)
- {
- int i, j = 0;
-@@ -141,6 +216,12 @@ unsigned char *wchar_to_utf8(wchar_t *wc
- void iso88591_to_utf8(unsigned char *iso, size_t memsize,
- unsigned char **utf)
- {
-+ /* don't run recoder of setting is incomplete */
-+ if (tags_encoding && *tags_encoding) {
-+ *utf = generic_iconv(iso, memsize, tags_encoding, "UTF-8");
-+ return;
-+ }
-+
- int i;
- wchar_t *wchar;
-
-diff -urp xmms-scrobbler-0.3.8.1/xmms_scrobbler.c xmms-scrobbler-0.3.8.1-enc/xmms_scrobbler.c
---- xmms-scrobbler-0.3.8.1/xmms_scrobbler.c 2005-02-21 02:25:47.000000000 +0100
-+++ xmms-scrobbler-0.3.8.1-enc/xmms_scrobbler.c 2005-12-13 22:53:29.000000000 +0100
-@@ -59,7 +59,7 @@ static GeneralPlugin xmms_scrobbler =
-
- static void init(void)
- {
-- char *username = NULL, *password = NULL;
-+ char *username = NULL, *password = NULL, *encoding = NULL;
- ConfigFile *cfgfile;
- going = 1;
-
-@@ -68,6 +68,8 @@ static void init(void)
- &username);
- xmms_cfg_read_string(cfgfile, "audioscrobbler", "password",
- &password);
-+ xmms_cfg_read_string(cfgfile, "audioscrobbler", "encoding",
-+ &encoding);
- xmms_cfg_free(cfgfile);
- }
- if ((!username || !password) || (!*username || !*password)) {
-@@ -76,6 +78,10 @@ static void init(void)
- going = 0;
- return;
- }
-+ if (encoding) {
-+ tags_encoding = g_strdup(encoding);
-+ g_free(encoding);
-+ }
- sc_init(username, password);
- g_free(username);
- g_free(password);