changeset 923:dec902a06078

upstream version of no-asprintf patch for package openscenegraph Upstream liked the idea, but they also like std::string and took the opporunity to fix the memory leak.
author Mark Brand <mabrand@mabrand.nl>
date Wed, 28 Apr 2010 23:00:54 +0200
parents 7491ac97c72e
children 75f1899e6022
files src/openscenegraph-3-no-asprintf.patch
diffstat 1 files changed, 4 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/openscenegraph-3-no-asprintf.patch	Sat May 01 15:31:20 2010 +0200
+++ b/src/openscenegraph-3-no-asprintf.patch	Wed Apr 28 23:00:54 2010 +0200
@@ -3,23 +3,16 @@
 
 diff -urN a/src/osgPlugins/xine/ReaderWriterXine.cpp b/src/osgPlugins/xine/ReaderWriterXine.cpp
 --- a/src/osgPlugins/xine/ReaderWriterXine.cpp	2010-03-13 11:38:10.000000000 +0100
-+++ b/src/osgPlugins/xine/ReaderWriterXine.cpp	2010-04-27 12:21:20.597790305 +0200
-@@ -326,9 +326,15 @@
++++ b/src/osgPlugins/xine/ReaderWriterXine.cpp	2010-04-28 22:54:29.203481468 +0200
+@@ -326,9 +326,8 @@
              const char* user_home = xine_get_homedir();
              if(user_home)
              {
 -                char* cfgfile = NULL;
 -                int result = asprintf(&(cfgfile), "%s/.xine/config", user_home);                
 -                if (result>0) xine_config_load(_xine, cfgfile);
-+                const char* tail = "/.xine/config";
-+                int size = strlen(user_home) + strlen(tail) + 1;
-+                char* cfgfile = malloc(size);
-+                if (cfgfile)
-+                {
-+                    strcpy(cfgfile, user_home);
-+                    strcat(cfgfile, tail);               
-+                    xine_config_load(_xine, cfgfile);
-+                }
++                std::string configFile(std::string(user_home)+"/.xine/config");
++                xine_config_load(_xine, configFile.c_str());
              }
  
              xine_init(_xine);