diff options
Diffstat (limited to 'packages/libmrss/files/fix_atom_date_locale.patch')
-rw-r--r-- | packages/libmrss/files/fix_atom_date_locale.patch | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/packages/libmrss/files/fix_atom_date_locale.patch b/packages/libmrss/files/fix_atom_date_locale.patch deleted file mode 100644 index 111a4859cd..0000000000 --- a/packages/libmrss/files/fix_atom_date_locale.patch +++ /dev/null @@ -1,121 +0,0 @@ -The Atom date formating code tries to create a RFC822 date. This date -requires to use the C locale for the date (for weekday-names and month-names). - -This patch uses new POSIX functionality to create a C locale and strftime_l -to create a right RFC822 date. - -Index: libmrss-0.17/src/mrss.h -=================================================================== ---- libmrss-0.17.orig/src/mrss.h 2007-02-02 12:23:49.000000000 +0100 -+++ libmrss-0.17/src/mrss.h 2007-04-01 19:46:41.000000000 +0200 -@@ -364,6 +364,9 @@ - mrss_element_t element; - int allocated; - -+ /** For internal use only: */ -+ void* c_locale; -+ - /* Data: */ - - char *file; -Index: libmrss-0.17/src/mrss_free.c -=================================================================== ---- libmrss-0.17.orig/src/mrss_free.c 2007-02-02 12:47:46.000000000 +0100 -+++ libmrss-0.17/src/mrss_free.c 2007-04-01 19:46:41.000000000 +0200 -@@ -22,9 +22,14 @@ - # error Use configure; make; make install - #endif - -+#define _GNU_SOURCE -+ - #include "mrss.h" - #include "mrss_internal.h" - -+#include <locale.h> -+ -+ - static void __mrss_free_channel (mrss_t * mrss); - static void __mrss_free_category (mrss_category_t * category); - static void __mrss_free_hour (mrss_hour_t * hour); -@@ -202,6 +207,9 @@ - __mrss_free_item ((mrss_item_t *) old); - } - -+ if (mrss->c_locale) -+ freelocale (mrss->c_locale); -+ - if (mrss->allocated) - free (mrss); - } -Index: libmrss-0.17/src/mrss_parser.c -=================================================================== ---- libmrss-0.17.orig/src/mrss_parser.c 2007-04-01 19:46:41.000000000 +0200 -+++ libmrss-0.17/src/mrss_parser.c 2007-04-01 20:38:06.000000000 +0200 -@@ -22,9 +22,13 @@ - # error Use configure; make; make install - #endif - -+#define _GNU_SOURCE -+ - #include "mrss.h" - #include "mrss_internal.h" - -+#include <locale.h> -+ - static void - __mrss_parse_tag_insert (mrss_tag_t ** where, mrss_tag_t * what) - { -@@ -133,7 +137,7 @@ - } - - static char * --__mrss_atom_prepare_date (char *datestr) -+__mrss_atom_prepare_date (mrss_t *data, char *datestr) - { - char *ret = NULL; - if (datestr) -@@ -150,8 +154,13 @@ - stm.tm_year -= 1900; - char datebuf[256]; - free (datestr); -- strftime (datebuf, sizeof (datebuf), "%a, %d %b %Y %H:%M:%S %z", -- &stm); -+ -+ if (!data->c_locale) { -+ data->c_locale = newlocale(LC_ALL_MASK,"C",NULL); -+ } -+ -+ strftime_l (datebuf, sizeof (datebuf), "%a, %d %b %Y %H:%M:%S %z", -+ &stm, data->c_locale); - ret = strdup (datebuf); - } - } -@@ -269,16 +278,16 @@ - else if (!strcmp (cur->value, "published") && !item->pubDate - && data->version == MRSS_VERSION_ATOM_1_0) - item->pubDate = -- __mrss_atom_prepare_date (nxmle_get_string (cur, NULL)); -+ __mrss_atom_prepare_date (data, nxmle_get_string (cur, NULL)); - else if (!strcmp(cur->value, "updated" ) && !item->pubDate - && data->version == MRSS_VERSION_ATOM_1_0) - item->pubDate = -- __mrss_atom_prepare_date (nxmle_get_string (cur, NULL)); -+ __mrss_atom_prepare_date (data, nxmle_get_string (cur, NULL)); - - /* issued -> pubDate (Atom 0.3) */ - else if (!strcmp (cur->value, "issued") && !item->pubDate) - item->pubDate = -- __mrss_atom_prepare_date (nxmle_get_string (cur, NULL)); -+ __mrss_atom_prepare_date (data, nxmle_get_string (cur, NULL)); - - /* id -> guid */ - else if (!strcmp (cur->value, "id") && !item->guid -@@ -701,7 +710,7 @@ - /* updated -> lastBuildDate */ - else if (!strcmp (cur->value, "updated")) - data->lastBuildDate = -- __mrss_atom_prepare_date (nxmle_get_string (cur, NULL)); -+ __mrss_atom_prepare_date (data, nxmle_get_string (cur, NULL)); - - /* author -> managingeditor */ - else if (!strcmp (cur->value, "author")) |