r20756 - gnucash/trunk/src/app-utils - Correct memory handling of scm_to_locale_string per guile manual

J. Alex Aycinena alex.aycinena at code.gnucash.org
Sun Jun 12 23:11:59 EDT 2011


Author: alex.aycinena
Date: 2011-06-12 23:11:59 -0400 (Sun, 12 Jun 2011)
New Revision: 20756
Trac: http://svn.gnucash.org/trac/changeset/20756

Modified:
   gnucash/trunk/src/app-utils/file-utils.c
Log:
Correct memory handling of scm_to_locale_string per guile manual

Modified: gnucash/trunk/src/app-utils/file-utils.c
===================================================================
--- gnucash/trunk/src/app-utils/file-utils.c	2011-06-13 01:05:41 UTC (rev 20755)
+++ gnucash/trunk/src/app-utils/file-utils.c	2011-06-13 03:11:59 UTC (rev 20756)
@@ -54,7 +54,8 @@
 char *
 gncFindFile (const char * filename)
 {
-    const gchar *full_filename = NULL;
+    char *full_filename = NULL;
+    char * return_string = NULL;
     SCM find_doc_file;
     SCM scm_filename;
     SCM scm_result;
@@ -67,9 +68,17 @@
     scm_result = scm_call_1(find_doc_file, scm_filename);
 
     if (scm_is_string(scm_result))
+    {
+        char * str;
+
+        scm_dynwind_begin (0); 
         full_filename = scm_to_locale_string(scm_result);
+        return_string = g_strdup (full_filename);
+        scm_dynwind_free (full_filename); 
+        scm_dynwind_end (); 
+    }
 
-    return g_strdup (full_filename);
+    return return_string;
 }
 
 /********************************************************************\



More information about the gnucash-changes mailing list