# HG changeset patch # User Mark Brand # Date 1272488454 -7200 # Node ID dec902a06078b3f6ab2dc2adbcee7d4998c2fc7f # Parent 7491ac97c72e2bcfa4b9d17323817c677d1cb17b 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. diff -r 7491ac97c72e -r dec902a06078 src/openscenegraph-3-no-asprintf.patch --- 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);