r2045 - in trunk/oe/packages: . libmrss libmrss/files

werner at sita.openmoko.org werner at sita.openmoko.org
Sun May 20 21:15:52 CEST 2007


Author: werner
Date: 2007-05-20 21:15:43 +0200 (Sun, 20 May 2007)
New Revision: 2045

Added:
   trunk/oe/packages/libmrss/
   trunk/oe/packages/libmrss/files/
   trunk/oe/packages/libmrss/files/better-parse-url-r0.patch
   trunk/oe/packages/libmrss/libmrss_0.17.2.bb
Log:
Patch by Stefan Schmidt to fix
http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=569



Added: trunk/oe/packages/libmrss/files/better-parse-url-r0.patch
===================================================================
--- trunk/oe/packages/libmrss/files/better-parse-url-r0.patch	2007-05-20 16:20:06 UTC (rev 2044)
+++ trunk/oe/packages/libmrss/files/better-parse-url-r0.patch	2007-05-20 19:15:43 UTC (rev 2045)
@@ -0,0 +1,90 @@
+Index: libmrss-0.17.2/src/mrss.h
+===================================================================
+--- libmrss-0.17.2.orig/src/mrss.h	2007-04-02 14:42:55.000000000 +0200
++++ libmrss-0.17.2/src/mrss.h	2007-05-19 20:56:08.000000000 +0200
+@@ -523,6 +523,22 @@
+ 					 mrss_t **	mrss,
+ 					 mrss_options_t	* options);
+ 
++/**
++ * Like the previous function but you take ownership of the downloaded buffer in case of success
++ * \param url The url to be parsed
++ * \param mrss the pointer to your data struct
++ * \param options a pointer to a options data struct
++ * \param feed_content a pointer to the buffer with the document. This is not NULL terminated
++ * \param feed_size the size of the buffer above
++ * \return the error code
++ */
++mrss_error_t	mrss_parse_url_and_transfer_buffer
++					(char *		url,
++					 mrss_t **	mrss,
++					 mrss_options_t	* options,
++                     char **    feed_content,
++                     int  *     feed_size);
++
+ /** 
+  * Parses a file and creates the data struct of the feed RSS url
+  * \param file The file to be parsed
+Index: libmrss-0.17.2/src/mrss_parser.c
+===================================================================
+--- libmrss-0.17.2.orig/src/mrss_parser.c	2007-05-19 20:47:08.000000000 +0200
++++ libmrss-0.17.2/src/mrss_parser.c	2007-05-19 20:56:37.000000000 +0200
+@@ -1075,13 +1075,20 @@
+ mrss_error_t
+ mrss_parse_url (char *url, mrss_t ** ret)
+ {
+-  return mrss_parse_url_with_options (url, ret, NULL);
++  return mrss_parse_url_and_transfer_buffer (url, ret, NULL, NULL, NULL);
+ }
+ 
+ mrss_error_t
+ mrss_parse_url_with_options (char *url, mrss_t ** ret,
+ 			     mrss_options_t * options)
+ {
++  return mrss_parse_url_and_transfer_buffer (url, ret, options, NULL, NULL);
++}
++
++mrss_error_t
++mrss_parse_url_and_transfer_buffer (char *url, mrss_t ** ret,
++			     mrss_options_t * options, char **download_buffer, int *download_size)
++{
+   nxml_t *doc;
+   mrss_error_t err;
+   char *buffer;
+@@ -1117,7 +1124,8 @@
+ 
+   if (nxml_parse_buffer (doc, buffer, size) != NXML_OK)
+     {
+-      free (buffer);
++      if (!download_buffer)
++        free (buffer);
+       nxml_free (doc);
+ 
+       return MRSS_ERR_PARSER;
+@@ -1127,7 +1135,8 @@
+     {
+       if (!((*ret)->file = strdup (url)))
+ 	{
+-	  free (buffer);
++      if (!download_buffer)
++	    free (buffer);
+ 
+ 	  mrss_free (*ret);
+ 	  nxml_free (doc);
+@@ -1138,9 +1147,15 @@
+       (*ret)->size = size;
+     }
+ 
+-  free (buffer);
++  if (!download_buffer)
++    free (buffer);
+   nxml_free (doc);
+ 
++  /* transfer ownership */
++  if (download_buffer)
++    *download_buffer = buffer;
++  if (download_size)
++    *download_size = size;
+   return err;
+ }
+ 

Added: trunk/oe/packages/libmrss/libmrss_0.17.2.bb
===================================================================
--- trunk/oe/packages/libmrss/libmrss_0.17.2.bb	2007-05-20 16:20:06 UTC (rev 2044)
+++ trunk/oe/packages/libmrss/libmrss_0.17.2.bb	2007-05-20 19:15:43 UTC (rev 2045)
@@ -0,0 +1,15 @@
+DESCRIPTION = "mRSS is a C library for parsing, writing and creating RSS (0.91, 0.92, 1.0, 2.0) files or streams"
+LICENSE = "LGPL"
+HOMEPAGE = "http://www2.autistici.org/bakunin/codes.php"
+
+DEPENDS = "libnxml curl"
+PR      = "r1"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://www2.autistici.org/bakunin/libmrss/libmrss-${PV}.tar.gz \
+           file://better-parse-url-r0.patch;patch=1                       "
+
+do_stage() {
+    autotools_stage_all
+}





More information about the commitlog mailing list