guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/12] Guile-DBII: replace deprecated gh_ functions


From: Linas Vepstas
Subject: [PATCH 4/12] Guile-DBII: replace deprecated gh_ functions
Date: Fri, 19 Sep 2008 09:09:46 -0500
User-agent: Mutt/1.5.15+20070412 (2007-04-11)


Replace deprecated gh_ functions with modern scm_ functions
Also, another memory leak.

Signed-off-by: Linas Vepstas <address@hidden>

---
 src/guile-dbi.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: guile-dbi-2.0.0/src/guile-dbi.c
===================================================================
--- guile-dbi-2.0.0.orig/src/guile-dbi.c        2008-09-16 18:44:31.000000000 
-0500
+++ guile-dbi-2.0.0/src/guile-dbi.c     2008-09-16 18:47:11.000000000 -0500
@@ -214,7 +214,7 @@ SCM_DEFINE (query_g_db_handle, "dbi-quer
   SCM_ASSERT (scm_is_string (query), query, SCM_ARG2, "query_g_db_handle");
 
   g_db_handle = (struct g_db_handle*)SCM_SMOB_DATA(db_handle);
-  query_str = (char*) gh_scm2newstr(query,NULL);
+  query_str = scm_to_locale_string(query);
 
   __gdbi_dbd_wrap(g_db_handle,(char*) __FUNCTION__,(void**) &dbi_query);  
   if (scm_equal_p (SCM_CAR(g_db_handle->status),scm_from_int(0)) == SCM_BOOL_F)
@@ -315,11 +315,12 @@ __gdbi_dbd_wrap(gdbi_db_handle_t* dbh, c
   char *func  = NULL;
   char *bcknd = NULL;
 
-  bcknd = (char*) gh_scm2newstr(dbh->bcknd,NULL);
+  bcknd = scm_to_locale_string(dbh->bcknd);
 
   if((func=malloc(sizeof(char)*(strlen(function_name)+
                  20))) == NULL)
     {
+      free(bcknd);
       dbh->status = (SCM) scm_cons(scm_from_int(errno),
                                   scm_makfrom0str(strerror(errno)));
       return;
@@ -329,6 +330,7 @@ __gdbi_dbd_wrap(gdbi_db_handle_t* dbh, c
   *(void **) (function_pointer) = dlsym(dbh->handle,func);
   if((ret = dlerror()) != NULL)
     {
+      free(bcknd);
       dbh->status = (SCM) scm_cons(scm_from_int(1),
                                   scm_makfrom0str(ret));
       return;

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]