[Gnucash-changes] Changes to get rid of most of the remaining usages of deprecated guile

Linas Vepstas linas at cvs.gnucash.org
Fri May 7 23:53:53 EDT 2004


Log Message:
-----------
Changes to get rid of most of the remaining usages of deprecated
guile gh_* routines.  The file engine-helpers.c also has whitespace
changes where tabs were expanded to 8 spaces (I have set ts=3, so
mixed tab/space indentation looks terrible). I beleive that the
changes are all good, but if you suspect the worst, you can revert by
fishing out the cvs tag 'pre-gh-deprecate'.

Some of the gnome files weren't converted, mostly because the
conversions really should be done in the gnome2 branch not this 
branch.

Modified Files:
--------------
    gnucash/src/engine:
        engine-helpers.c
        glib-helpers.c
        kvp-scm.c
    gnucash/src/gnome-utils:
        argv-list-converters.c
        dialog-options.c
        gnc-menu-extensions.c

Revision Data
-------------
Index: kvp-scm.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/kvp-scm.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -Lsrc/engine/kvp-scm.c -Lsrc/engine/kvp-scm.c -u -r1.13 -r1.14
--- src/engine/kvp-scm.c
+++ src/engine/kvp-scm.c
@@ -49,9 +49,9 @@
     {
         char *newstr;
         KvpValue *ret;
-        newstr = gh_scm2newstr(val, NULL);
+        /* newstr = gh_scm2newstr(val, NULL); */
+        newstr = SCM_STRING_CHARS (val);
         ret = kvp_value_new_string(newstr);
-        free(newstr);
         return ret;
     }
     else if(gw_wcp_p(val) &&
Index: glib-helpers.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/glib-helpers.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -Lsrc/engine/glib-helpers.c -Lsrc/engine/glib-helpers.c -u -r1.4 -r1.5
--- src/engine/glib-helpers.c
+++ src/engine/glib-helpers.c
@@ -155,7 +155,13 @@
 
   while (!SCM_NULLP (list))
   {
-    glist = g_list_prepend (glist, gh_scm2newstr(SCM_CAR(list), NULL));
+    /* glist = g_list_prepend (glist, gh_scm2newstr(SCM_CAR(list), NULL)); */
+    char * str = SCM_STRING_CHARS (SCM_CAR(list));
+    if (str)
+    {
+      str = g_strdup (str);
+      glist = g_list_prepend (glist, str);
+    }
     list = SCM_CDR (list);
   }
 
Index: engine-helpers.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/engine-helpers.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -Lsrc/engine/engine-helpers.c -Lsrc/engine/engine-helpers.c -u -r1.38 -r1.39
--- src/engine/engine-helpers.c
+++ src/engine/engine-helpers.c
@@ -131,30 +131,44 @@
 }
 
 GUID
-gnc_scm2guid(SCM guid_scm) {
-  char string[GUID_ENCODING_LENGTH + 1];
+gnc_scm2guid(SCM guid_scm) 
+{
   GUID guid;
+  char * str;
 
-  gh_get_substr(guid_scm, string, 0, GUID_ENCODING_LENGTH);
-  string[GUID_ENCODING_LENGTH] = '\0';
-
-  string_to_guid(string, &guid);
+  /* char string[GUID_ENCODING_LENGTH + 1]; */
+  /* gh_get_substr(guid_scm, string, 0, GUID_ENCODING_LENGTH); */
+  /* string[GUID_ENCODING_LENGTH] = '\0'; */
 
+  if (GUID_ENCODING_LENGTH != SCM_STRING_LENGTH (guid_scm))
+  {
+    return *guid_null();
+  }
+  str = SCM_STRING_CHARS (guid_scm);
+  string_to_guid(str, &guid);
   return guid;
 }
 
 int
-gnc_guid_p(SCM guid_scm) {
-  char string[GUID_ENCODING_LENGTH + 1];
+gnc_guid_p(SCM guid_scm) 
+{
   GUID guid;
+  char * str;
 
   if (!SCM_STRINGP(guid_scm))
     return FALSE;
 
-  gh_get_substr(guid_scm, string, 0, GUID_ENCODING_LENGTH);
-  string[GUID_ENCODING_LENGTH] = '\0';
+  /* char string[GUID_ENCODING_LENGTH + 1]; */
+  /* gh_get_substr(guid_scm, string, 0, GUID_ENCODING_LENGTH); */
+  /* string[GUID_ENCODING_LENGTH] = '\0'; */
+
+  if (GUID_ENCODING_LENGTH != SCM_STRING_LENGTH (guid_scm))
+  {
+    return FALSE;
+  }
+  str = SCM_STRING_CHARS (guid_scm);
 
-  return string_to_guid(string, &guid);
+  return string_to_guid(str, &guid);
 }
 
 
@@ -315,7 +329,8 @@
 gnc_scm2acct_match_how (SCM how_scm)
 {
   QofGuidMatch res;
-  char *how = gh_symbol2newstr (how_scm, NULL);
+  /* char *how = gh_symbol2newstr (how_scm, NULL); */
+  char *how = SCM_SYMBOL_CHARS (how_scm);
 
   if (!safe_strcmp (how, "acct-match-all"))
     res = QOF_GUID_MATCH_ALL;
@@ -327,8 +342,6 @@
     PINFO ("invalid account match: %s", how);
     res = QOF_GUID_MATCH_NULL;
   }
-
-  if (how) free (how);
   return res;
 }
 
@@ -336,7 +349,8 @@
 gnc_scm2amt_match_how (SCM how_scm)
 {
   QofQueryCompare res;
-  char *how = gh_symbol2newstr (how_scm, NULL);
+  /* char *how = gh_symbol2newstr (how_scm, NULL); */
+  char *how = SCM_SYMBOL_CHARS (how_scm);
 
   if (!safe_strcmp (how, "amt-match-atleast"))
     res = QOF_COMPARE_GTE;
@@ -349,7 +363,6 @@
     res = QOF_COMPARE_EQUAL;
   }
 
-  if (how) free (how);
   return res;
 }
 
@@ -357,7 +370,8 @@
 gnc_scm2kvp_match_how (SCM how_scm)
 {
   QofQueryCompare res;
-  char *how = gh_symbol2newstr (how_scm, NULL);
+  /* char *how = gh_symbol2newstr (how_scm, NULL); */
+  char *how = SCM_SYMBOL_CHARS (how_scm);
 
   if (!safe_strcmp (how, "kvp-match-lt"))
     res = QOF_COMPARE_LT;
@@ -373,8 +387,6 @@
     PINFO ("invalid kvp match: %s", how);
     res = QOF_COMPARE_EQUAL;
   }
-
-  if (how) free (how);
   return res;
 }
 
@@ -422,15 +434,14 @@
   if (!SCM_NULLP (SCM_CDR (how_scm)))
     return FALSE;
 
-  how = gh_symbol2newstr (SCM_CAR (how_scm), NULL);
+  /* how = gh_symbol2newstr (SCM_CAR (how_scm), NULL); */
+  how = SCM_SYMBOL_CHARS (SCM_CAR(how_scm));
 
   if (!safe_strcmp (how, "balance-match-balanced"))
     *resp = TRUE;
   else
     *resp = FALSE;
 
-  if (how) free (how);
-
   return TRUE;
 }
 
@@ -443,7 +454,8 @@
   if (!SCM_LISTP (where_scm))
     return NULL;
 
-  where = gh_symbol2newstr (SCM_CAR (where_scm), NULL);
+  /* where = gh_symbol2newstr (SCM_CAR (where_scm), NULL); */
+  where = SCM_SYMBOL_CHARS (SCM_CAR(where_scm));
 
   if (!safe_strcmp (where, "kvp-match-split"))
     res = GNC_ID_SPLIT;
@@ -455,8 +467,6 @@
     PINFO ("Unknown kvp-match-where: %s", where);
     res = NULL;
   }
-
-  if (where) free (where);
   return res;
 }
 
@@ -516,7 +526,7 @@
 gnc_query_numeric2scm (gnc_numeric val)
 {
   return scm_cons (gnc_gint64_to_scm (val.num),
-		  gnc_gint64_to_scm (val.denom));
+                  gnc_gint64_to_scm (val.denom));
 }
 
 static gboolean
@@ -535,7 +545,7 @@
   denom = SCM_CDR (pair);
 
   return gnc_numeric_create (gnc_scm_to_gint64 (num),
-			     gnc_scm_to_gint64 (denom));
+                             gnc_scm_to_gint64 (denom));
 }
 
 static SCM
@@ -571,9 +581,9 @@
     if (!SCM_STRINGP (key_scm))
       break;
 
-    tmp = gh_scm2newstr (key_scm, NULL);
+    /* tmp = gh_scm2newstr (key_scm, NULL); */
+    tmp = SCM_STRING_CHARS  (key_scm);
     key = g_strdup (tmp);
-    if (tmp) free (tmp);
 
     path = g_slist_prepend (path, key);
 
@@ -744,9 +754,9 @@
       break;
 
     case KVP_TYPE_STRING: {
-      char *str = gh_scm2newstr (val_scm, NULL);
+      /* char *str = gh_scm2newstr (val_scm, NULL); */
+      char * str = SCM_STRING_CHARS  (val_scm);
       value = kvp_value_new_string (str);
-      if (str) free (str);
       break;
     }
 
@@ -770,7 +780,7 @@
       gnc_numeric n;
 
       if (!gnc_query_numeric_p (val_scm))
-	return NULL;
+        return NULL;
 
       n = gnc_query_scm2numeric (val_scm);
 
@@ -844,20 +854,15 @@
     if (!SCM_STRINGP (key_scm))
       continue;
 
-    key = gh_scm2newstr (key_scm, NULL);
+    /* key = gh_scm2newstr (key_scm, NULL); */
+    key = SCM_STRING_CHARS  (key_scm);
     if (!key)
       continue;
 
     value = gnc_scm2KvpValue (val_scm);
-    if (!value)
-    {
-      free (key);
-      continue;
-    }
+    if (!value) continue;
 
     kvp_frame_set_slot_nc (frame, key, value);
-
-    free (key);
   }
 
   return frame;
@@ -870,7 +875,7 @@
   QofQueryPredData *pd = NULL;
 
   qt_scm = scm_cons (gnc_query_path2scm (qof_query_term_get_param_path (qt)),
-		    qt_scm);
+                    qt_scm);
   qt_scm = scm_cons (SCM_BOOL (qof_query_term_is_inverted (qt)), qt_scm);
 
   pd = qof_query_term_get_pred_data (qt);
@@ -971,7 +976,8 @@
     qt_scm = SCM_CDR (qt_scm);
     if (!SCM_SYMBOLP (scm))
       break;
-    type = gh_symbol2newstr (scm, NULL);
+    /* type = gh_symbol2newstr (scm, NULL); */
+    type = SCM_SYMBOL_CHARS (scm);
 
     /* QofCompareFunc */
     scm = SCM_CAR (qt_scm);
@@ -982,47 +988,47 @@
 
     /* Now compute the predicate */
 
-    if (!safe_strcmp (type, QOF_TYPE_STRING)) {
+    if (!safe_strcmp (type, QOF_TYPE_STRING)) 
+    {
       QofStringMatch options;
       gboolean is_regex;
       char *matchstring;
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (SCM_NULLP (scm))
-	break;
+      if (SCM_NULLP (scm)) break;
       options = gnc_query_scm2string (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_BOOLP (scm))
-	break;
+      if (!SCM_BOOLP (scm)) break;
       is_regex = SCM_NFALSEP (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
-      if (!SCM_STRINGP (scm))
-	break;
-      matchstring = gh_scm2newstr (scm, NULL);
+      if (!SCM_STRINGP (scm)) break;
 
-      pd = qof_query_string_predicate (compare_how, matchstring,
-				    options, is_regex);
-      free (matchstring);
+      /* matchstring = gh_scm2newstr (scm, NULL); */
+      matchstring = SCM_STRING_CHARS  (scm);
 
-    } else if (!safe_strcmp (type, QOF_TYPE_DATE)) {
+      pd = qof_query_string_predicate (compare_how, matchstring,
+                                    options, is_regex);
+    } 
+    else if (!safe_strcmp (type, QOF_TYPE_DATE)) 
+    {
       QofDateMatch options;
       Timespec date;
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       options = gnc_query_scm2date (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       date = gnc_timepair2timespec (scm);
 
       pd = qof_query_date_predicate (compare_how, options, date);
@@ -1034,13 +1040,13 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       options = gnc_query_scm2numericop (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!gnc_query_numeric_p (scm))
-	break;
+        break;
       val = gnc_query_scm2numeric (scm);
 
       pd = qof_query_numeric_predicate (compare_how, options, val);
@@ -1052,13 +1058,13 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       options = gnc_query_scm2guid (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!SCM_LISTP (scm))
-	break;
+        break;
       guids = gnc_scm2guid_glist (scm);
 
       pd = qof_query_guid_predicate (options, guids);
@@ -1071,7 +1077,7 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       val = gnc_scm_to_gint64 (scm);
 
       pd = qof_query_int64_predicate (compare_how, val);
@@ -1082,7 +1088,7 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!SCM_NUMBERP (scm))
-	break;
+        break;
       val = scm_num2dbl (scm, __FUNCTION__);
 
       pd = qof_query_double_predicate (compare_how, val);
@@ -1093,7 +1099,7 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!SCM_BOOLP (scm))
-	break;
+        break;
       val = SCM_NFALSEP (scm);
 
       pd = qof_query_boolean_predicate (compare_how, val);
@@ -1105,33 +1111,34 @@
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm))
-	break;
+        break;
       options = gnc_query_scm2char (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!SCM_STRINGP (scm))
-	break;
-      char_list = gh_scm2newstr (scm, NULL);
+        break;
+      /* char_list = gh_scm2newstr (scm, NULL); */
+      char_list = SCM_STRING_CHARS  (scm);
 
       pd = qof_query_char_predicate (options, char_list);
-      free (char_list);
-
-    } else if (!safe_strcmp (type, QOF_TYPE_KVP)) {
+    } 
+    else if (!safe_strcmp (type, QOF_TYPE_KVP)) 
+    {
       GSList *kvp_path;
       KvpValue *value;
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (!SCM_LISTP (scm))
-	break;
+        break;
       kvp_path = gnc_query_scm2path (scm);
 
       scm = SCM_CAR (qt_scm);
       qt_scm = SCM_CDR (qt_scm);
       if (SCM_NULLP (scm)) {
-	gnc_query_path_free (kvp_path);
-	break;
+        gnc_query_path_free (kvp_path);
+        break;
       }
       value = gnc_scm2KvpValue (scm);
 
@@ -1158,9 +1165,6 @@
     gnc_query_path_free (path);
   }
 
-  if (type)
-    free (type);
-
   return q;
 }
 
@@ -1184,7 +1188,8 @@
     /* pd_type */
     scm = SCM_CAR (query_term_scm);
     query_term_scm = SCM_CDR (query_term_scm);
-    pd_type = gh_symbol2newstr (scm, NULL);
+    /* pd_type = gh_symbol2newstr (scm, NULL); */
+    pd_type = SCM_SYMBOL_CHARS (scm);
 
     /* pr_type */
     if (SCM_NULLP (query_term_scm)) {
@@ -1193,7 +1198,8 @@
     }
     scm = SCM_CAR (query_term_scm);
     query_term_scm = SCM_CDR (query_term_scm);
-    pr_type = gh_symbol2newstr (scm, NULL);
+    /* pr_type = gh_symbol2newstr (scm, NULL); */
+    pr_type = SCM_SYMBOL_CHARS (scm);
 
     /* sense */
     if (SCM_NULLP (query_term_scm)) {
@@ -1214,8 +1220,8 @@
 
       /* use_start */
       if (SCM_NULLP (query_term_scm)) {
-	PINFO ("null use_start");
-	break;
+        PINFO ("null use_start");
+        break;
       }
 
       scm = SCM_CAR (query_term_scm);
@@ -1224,7 +1230,7 @@
 
       /* start */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1232,7 +1238,7 @@
 
       /* use_end */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1240,7 +1246,7 @@
 
       /* end */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1250,7 +1256,9 @@
 
       ok = TRUE;
 
-    } else if (!safe_strcmp (pd_type, "pd-amount")) {
+    } 
+    else if (!safe_strcmp (pd_type, "pd-amount")) 
+    {
       QofQueryCompare how;
       QofNumericMatch amt_sgn;
       double amount;
@@ -1258,21 +1266,21 @@
 
       /* how */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       how = gnc_scm2amt_match_how (scm);
 
       /* amt_sgn */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       amt_sgn = gnc_query_scm2numericop (scm);
 
       /* amount */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       amount = scm_num2dbl (scm, __FUNCTION__);
@@ -1280,29 +1288,31 @@
       val = double_to_gnc_numeric (amount, GNC_DENOM_AUTO, GNC_RND_ROUND);
 
       if (!safe_strcmp (pr_type, "pr-price")) {
-	xaccQueryAddSharePriceMatch (q, val, how, QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddSharePriceMatch (q, val, how, QOF_QUERY_OR);
+        ok = TRUE;
 
       } else if (!safe_strcmp (pr_type, "pr-shares")) {
-	xaccQueryAddSharesMatch (q, val, how, QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddSharesMatch (q, val, how, QOF_QUERY_OR);
+        ok = TRUE;
 
       } else if (!safe_strcmp (pr_type, "pr-value")) {
-	xaccQueryAddValueMatch (q, val, amt_sgn, how, QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddValueMatch (q, val, amt_sgn, how, QOF_QUERY_OR);
+        ok = TRUE;
 
       } else {
-	PINFO ("unknown amount predicate: %s", pr_type);
+        PINFO ("unknown amount predicate: %s", pr_type);
       }
 
-    } else if (!safe_strcmp (pd_type, "pd-account")) {
+    } 
+    else if (!safe_strcmp (pd_type, "pd-account")) 
+    {
       QofGuidMatch how;
       GList *account_guids;
 
       /* how */
       if (SCM_NULLP (query_term_scm)) {
-	PINFO ("pd-account: null how");
-	break;
+        PINFO ("pd-account: null how");
+        break;
       }
 
       scm = SCM_CAR (query_term_scm);
@@ -1311,8 +1321,8 @@
 
       /* account guids */
       if (SCM_NULLP (query_term_scm)) {
-	PINFO ("pd-account: null guids");
-	break;
+        PINFO ("pd-account: null guids");
+        break;
       }
 
       scm = SCM_CAR (query_term_scm);
@@ -1333,7 +1343,7 @@
 
       /* case_sens */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1341,7 +1351,7 @@
 
       /* use_regexp */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1349,34 +1359,35 @@
 
       /* matchstring */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      matchstring = gh_scm2newstr (scm, NULL);
+      /* matchstring = gh_scm2newstr (scm, NULL); */
+      matchstring = SCM_STRING_CHARS  (scm);
 
       if (!safe_strcmp (pr_type, "pr-action")) {
-	xaccQueryAddActionMatch (q, matchstring, case_sens, use_regexp,
-				 QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddActionMatch (q, matchstring, case_sens, use_regexp,
+                                 QOF_QUERY_OR);
+        ok = TRUE;
 
       } else if (!safe_strcmp (pr_type, "pr-desc")) {
-	xaccQueryAddDescriptionMatch (q, matchstring, case_sens,
-				      use_regexp, QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddDescriptionMatch (q, matchstring, case_sens,
+                                      use_regexp, QOF_QUERY_OR);
+        ok = TRUE;
 
       } else if (!safe_strcmp (pr_type, "pr-memo")) {
-	xaccQueryAddMemoMatch (q, matchstring, case_sens, use_regexp,
-			       QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddMemoMatch (q, matchstring, case_sens, use_regexp,
+                               QOF_QUERY_OR);
+        ok = TRUE;
 
       } else if (!safe_strcmp (pr_type, "pr-num")) {        
-	xaccQueryAddNumberMatch (q, matchstring, case_sens, use_regexp,
-				 QOF_QUERY_OR);
-	ok = TRUE;
+        xaccQueryAddNumberMatch (q, matchstring, case_sens, use_regexp,
+                                 QOF_QUERY_OR);
+        ok = TRUE;
 
       } else {
-	PINFO ("Unknown string predicate: %s", pr_type);
+        PINFO ("Unknown string predicate: %s", pr_type);
       }
 
     } else if (!safe_strcmp (pd_type, "pd-cleared")) {
@@ -1384,7 +1395,7 @@
 
       /* how */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1398,12 +1409,12 @@
 
       /* how */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
       if (gnc_scm2balance_match_how (scm, &how) == FALSE)
-	break;
+        break;
 
       xaccQueryAddBalanceMatch (q, how, QOF_QUERY_OR);
       ok = TRUE;
@@ -1415,7 +1426,7 @@
 
       /* guid */
       if (SCM_NULLP (query_term_scm))
-	break;
+        break;
 
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
@@ -1424,9 +1435,9 @@
       /* id type */
       scm = SCM_CAR (query_term_scm);
       query_term_scm = SCM_CDR (query_term_scm);
-      tmp = gh_scm2newstr (scm, NULL);
+      /* tmp = gh_scm2newstr (scm, NULL); */
+      tmp = SCM_STRING_CHARS  (scm);
       id_type = g_strdup (tmp);
-      if (tmp) free (tmp);
 
       xaccQueryAddGUIDMatch (q, &guid, id_type, QOF_QUERY_OR);
       ok = TRUE;
@@ -1477,12 +1488,6 @@
 
   } while (FALSE);
 
-  if (pd_type)
-    free (pd_type);
-
-  if (pr_type)
-    free (pr_type);
-
   if (ok)
   {
     Query *out_q;
@@ -1762,17 +1767,17 @@
     path = g_slist_prepend (path, QUERY_DEFAULT_SORT);
 
   } else if (!safe_strcmp (symbol, "by-date") ||
-	     !safe_strcmp (symbol, "by-date-rounded")) {
+             !safe_strcmp (symbol, "by-date-rounded")) {
     path = g_slist_prepend (path, TRANS_DATE_POSTED);
     path = g_slist_prepend (path, SPLIT_TRANS);
 
   } else if (!safe_strcmp (symbol, "by-date-entered") ||
-	     !safe_strcmp (symbol, "by-date-entered-rounded")) {
+             !safe_strcmp (symbol, "by-date-entered-rounded")) {
     path = g_slist_prepend (path, TRANS_DATE_ENTERED);
     path = g_slist_prepend (path, SPLIT_TRANS);
 
   } else if (!safe_strcmp (symbol, "by-date-reconciled") ||
-	     !safe_strcmp (symbol, "by-date-reconciled-rounded")) {
+             !safe_strcmp (symbol, "by-date-reconciled-rounded")) {
     path = g_slist_prepend (path, SPLIT_DATE_RECONCILED);
 
   } else if (!safe_strcmp (symbol, "by-num")) {
@@ -1809,8 +1814,6 @@
     PERR ("Unknown sort-type, %s", symbol);
   }
 
-  free (symbol);
-
   return path;
 }
 
@@ -1852,7 +1855,8 @@
       break;
     }
 
-    symbol = gh_symbol2newstr (sym_scm, NULL);
+    /* symbol = gh_symbol2newstr (sym_scm, NULL); */
+    symbol = SCM_SYMBOL_CHARS (sym_scm);
     if (!symbol) {
       PERR ("No string found");
       ok = FALSE;
@@ -1865,41 +1869,40 @@
 
       q = gnc_scm2query_or_terms (value, gnc_QUERY_v1);
       if (!q) {
-	PINFO ("invalid terms");
+        PINFO ("invalid terms");
         ok = FALSE;
-        free (symbol);
         break;
       }
 
     } else if (safe_strcmp ("primary-sort", symbol) == 0) {
       if (!SCM_SYMBOLP (value)) {
-	PINFO ("Invalid primary sort");
+        PINFO ("Invalid primary sort");
         ok = FALSE;
-        free (symbol);
         break;
       }
 
-      primary_sort = gh_symbol2newstr (value, NULL);
+      /* primary_sort = gh_symbol2newstr (value, NULL); */
+      primary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("secondary-sort", symbol) == 0) {
       if (!SCM_SYMBOLP (value)) {
-	PINFO ("Invalid secondary sort");
+        PINFO ("Invalid secondary sort");
         ok = FALSE;
-        free (symbol);
         break;
       }
 
-      secondary_sort = gh_symbol2newstr (value, NULL);
+      /* secondary_sort = gh_symbol2newstr (value, NULL); */
+      secondary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("tertiary-sort", symbol) == 0) {
       if (!SCM_SYMBOLP (value)) {
-	PINFO ("Invalid tertiary sort");
+        PINFO ("Invalid tertiary sort");
         ok = FALSE;
-        free (symbol);
         break;
       }
 
-      tertiary_sort = gh_symbol2newstr (value, NULL);
+      /* tertiary_sort = gh_symbol2newstr (value, NULL); */
+      tertiary_sort = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("primary-increasing", symbol) == 0) {
       primary_increasing = SCM_NFALSEP (value);
@@ -1912,9 +1915,8 @@
 
     } else if (safe_strcmp ("max-splits", symbol) == 0) {
       if (!SCM_NUMBERP (value)) {
-	PERR ("invalid max-splits");
+        PERR ("invalid max-splits");
         ok = FALSE;
-        free (symbol);
         break;
       }
 
@@ -1923,11 +1925,8 @@
     } else {
       PERR ("Unknown symbol: %s", symbol);
       ok = FALSE;
-      free (symbol);
       break;
     }
-
-    free (symbol);
   }
 
   if (ok) {
@@ -1938,21 +1937,12 @@
 
     qof_query_set_sort_order (q, s1, s2, s3);
     qof_query_set_sort_increasing (q, primary_increasing, secondary_increasing,
-			       tertiary_increasing);
+                               tertiary_increasing);
     xaccQuerySetMaxSplits (q, max_splits);
 
     return q;
   }
 
-  if (primary_sort)
-    free (primary_sort);
-
-  if (secondary_sort)
-    free (secondary_sort);
-
-  if (tertiary_sort)
-    free (tertiary_sort);
-
   xaccFreeQuery (q);
   return NULL;
 }
@@ -1993,7 +1983,8 @@
       break;
     }
 
-    symbol = gh_symbol2newstr (sym_scm, NULL);
+    /* symbol = gh_symbol2newstr (sym_scm, NULL); */
+    symbol = SCM_SYMBOL_CHARS (sym_scm);
     if (!symbol) {
       ok = FALSE;
       break;
@@ -2006,43 +1997,38 @@
       q = gnc_scm2query_or_terms (value, gnc_QUERY_v2);
       if (!q) {
         ok = FALSE;
-        free (symbol);
         break;
       }
 
     } else if (!safe_strcmp ("search-for", symbol)) {
       if (!SCM_SYMBOLP (value)) {
-	ok = FALSE;
-	free (symbol);
-	break;
+        ok = FALSE;
+        break;
       }
-      search_for = gh_symbol2newstr (value, NULL);
+      /* search_for = gh_symbol2newstr (value, NULL); */
+      search_for = SCM_SYMBOL_CHARS (value);
 
     } else if (safe_strcmp ("primary-sort", symbol) == 0) {
       if (! gnc_query_scm2sort (value, &sp1, &so1, &si1)) {
         ok = FALSE;
-        free (symbol);
         break;
       }
 
     } else if (!safe_strcmp ("secondary-sort", symbol)) {
       if (! gnc_query_scm2sort (value, &sp2, &so2, &si2)) {
         ok = FALSE;
-        free (symbol);
         break;
       }
 
     } else if (!safe_strcmp ("tertiary-sort", symbol)) {
       if (! gnc_query_scm2sort (value, &sp3, &so3, &si3)) {
         ok = FALSE;
-        free (symbol);
         break;
       }
 
     } else if (!safe_strcmp ("max-results", symbol)) {
       if (!SCM_NUMBERP (value)) {
         ok = FALSE;
-        free (symbol);
         break;
       }
 
@@ -2050,11 +2036,8 @@
 
     } else {
       ok = FALSE;
-      free (symbol);
       break;
     }
-
-    free (symbol);
   }
 
   --scm_block_gc;
@@ -2097,14 +2080,14 @@
   }
 
   /* Ok, the LHS is the version and the RHS is the actual query list */
-  type = gh_symbol2newstr (q_type, NULL);
+  /* type = gh_symbol2newstr (q_type, NULL); */
+  type = SCM_SYMBOL_CHARS (q_type);
   if (!type)
     return NULL;
 
   if (!safe_strcmp (type, "query-v2"))
     q = gnc_scm2query_v2 (SCM_CDR (query_scm));
 
-  free (type);
   return q;
 }
 
@@ -2144,7 +2127,7 @@
                                          SCM thunk) 
 {
   return xaccAccountStagedTransactionTraversal(a, new_marker,
-					       gnc_scm_traversal_adapter,
+                                               gnc_scm_traversal_adapter,
                                                &thunk);
 }
 
@@ -2187,7 +2170,7 @@
   SCM bits;
   unsigned long c_bits;
   long long     c_result = 0;
-  int		i;
+  int                i;
 
   /* This doesn't work -- atm (bit-extract 4000 0 32) proves it */
   /*
@@ -2285,7 +2268,7 @@
   }
   
   return scm_call_2(maker, gnc_gint64_to_scm(gnc_numeric_num(arg)),
-		    gnc_gint64_to_scm(gnc_numeric_denom(arg)));
+                    gnc_gint64_to_scm(gnc_numeric_denom(arg)));
 }
 
 int
Index: argv-list-converters.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/argv-list-converters.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -Lsrc/gnome-utils/argv-list-converters.c -Lsrc/gnome-utils/argv-list-converters.c -u -r1.2 -r1.3
--- src/gnome-utils/argv-list-converters.c
+++ src/gnome-utils/argv-list-converters.c
@@ -61,10 +61,9 @@
         next = SCM_CDR(next);
         if(SCM_STRINGP(scm_string))
         {
-            char *onestr = gh_scm2newstr(scm_string, 0);
+            /* char *onestr = gh_scm2newstr(scm_string, 0); */
+            char *onestr = SCM_STRING_CHARS(scm_string);
             ret[loc] = g_strdup (onestr);
-            if (onestr)
-              free (onestr);
         }
         else
         {
Index: dialog-options.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/dialog-options.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -Lsrc/gnome-utils/dialog-options.c -Lsrc/gnome-utils/dialog-options.c -u -r1.30 -r1.31
--- src/gnome-utils/dialog-options.c
+++ src/gnome-utils/dialog-options.c
@@ -2207,9 +2207,9 @@
 {
   if (SCM_STRINGP(value))
   {
-    char *string = gh_scm2newstr(value, NULL);
+    /* char *string = gh_scm2newstr(value, NULL); */
+    char *string = SCM_STRING_CHARS(value);
     gtk_entry_set_text(GTK_ENTRY(widget), string);
-    free(string);
     return FALSE;
   }
   else
@@ -2222,12 +2222,12 @@
 {
   if (SCM_STRINGP(value))
   {
-    char *string = gh_scm2newstr(value, NULL);
+    /* char *string = gh_scm2newstr(value, NULL); */
+    char *string = SCM_STRING_CHARS(value);
     gint pos = 0;
     gtk_editable_delete_text(GTK_EDITABLE(widget), 0, -1);
     gtk_editable_insert_text(GTK_EDITABLE(widget),
 			     string, strlen (string), &pos);
-    free(string);
     return FALSE;
   }
   else
@@ -2492,14 +2492,13 @@
 {
   if (SCM_STRINGP(value))
   {
-    char *string = gh_scm2newstr(value, NULL);
+    /* char *string = gh_scm2newstr(value, NULL); */
+    char *string = SCM_STRING_CHARS(value);
     if ((string != NULL) && (*string != '\0'))
     {
       GnomeFontPicker *picker = GNOME_FONT_PICKER(widget);
       gnome_font_picker_set_font_name(picker, string);
     }
-    if(string)
-      free(string);
     return FALSE;
   }
   else
@@ -2513,7 +2512,8 @@
   ENTER("option %p(%s)", option, gnc_option_name(option));
   if (SCM_STRINGP(value))
   {
-    char * string = gh_scm2newstr(value, NULL);
+    /* char * string = gh_scm2newstr(value, NULL); */
+    char *string = SCM_STRING_CHARS(value);
 
     if (string && *string)
     {
@@ -2522,8 +2522,6 @@
       entry = GTK_ENTRY(gnome_pixmap_entry_gtk_entry(GNOME_PIXMAP_ENTRY(widget)));
       gtk_entry_set_text(entry, string);
     }
-    if(string)
-      free(string);
     LEAVE("FALSE");
     return FALSE;
   }
Index: gnc-menu-extensions.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-menu-extensions.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -Lsrc/gnome-utils/gnc-menu-extensions.c -Lsrc/gnome-utils/gnc-menu-extensions.c -u -r1.10 -r1.11
--- src/gnome-utils/gnc-menu-extensions.c
+++ src/gnome-utils/gnc-menu-extensions.c
@@ -162,11 +162,12 @@
     path = SCM_CDR(path);
 
     if (SCM_STRINGP(item))
-      strings[i] = gh_scm2newstr(item, NULL);
+    {
+      /* strings[i] = gh_scm2newstr(item, NULL); */
+      strings[i] = SCM_STRING_CHARS (item);
+    }
     else
     {
-      while (i > 0)
-        free(strings[--i]);
       g_free(strings);
 
       PERR("not a string");
@@ -187,9 +188,6 @@
     *fullpath = g_strjoinv("/", strings);
   }
 
-  i = 0;
-  while (strings[i] != NULL)
-    free(strings[i++]);
   g_free(strings);
 }
 


More information about the Gnucash-changes mailing list