Index: src/backend/file/gnc-account-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-account-xml-v2.c,v
retrieving revision 1.19
diff -u -r1.19 gnc-account-xml-v2.c
--- src/backend/file/gnc-account-xml-v2.c	9 Sep 2003 14:58:34 -0000	1.19
+++ src/backend/file/gnc-account-xml-v2.c	30 Dec 2004 20:59:34 -0000
@@ -82,8 +82,8 @@
 
     ENTER ("(account=%p)", act);
 
-    ret = xmlNewNode(NULL, gnc_account_string);
-    xmlSetProp(ret, "version", account_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_account_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)account_version_string);
 
     xmlAddChild(ret, text_to_dom_tree(act_name_string,
                                       xaccAccountGetName(act)));
@@ -101,7 +101,7 @@
                                      xaccAccountGetCommoditySCUi(act)));
     
     if (xaccAccountGetNonStdSCU(act))
-      xmlNewChild(ret, NULL, act_non_standard_scu_string, NULL);
+      xmlNewChild(ret, NULL, (xmlChar *)act_non_standard_scu_string, NULL);
     
     str = xaccAccountGetCode(act);
     if (str && strlen(str) > 0)
@@ -134,22 +134,22 @@
 	      !gnc_commodity_is_iso(com) &&
 	      gnc_commodity_get_quote_flag(com)) {
 	    if (!kvpnode)
-	      kvpnode= xmlNewNode(NULL, act_slots_string);
+	      kvpnode= xmlNewNode(NULL, (xmlChar *)act_slots_string);
 
-	    slot_node = xmlNewChild(kvpnode, NULL, "slot", NULL);
-	    xmlNewTextChild(slot_node, NULL, "slot:key", "old-price-source");
+	    slot_node = xmlNewChild(kvpnode, NULL, (xmlChar *)"slot", NULL);
+	    xmlNewTextChild(slot_node, NULL, (xmlChar *)"slot:key", (xmlChar *)"old-price-source");
 
 	    source = gnc_commodity_get_quote_source(com);
-	    val_node = xmlNewTextChild(slot_node, NULL, "slot:value",
-				       gnc_quote_source_get_old_internal_name(source));
-	    xmlSetProp(val_node, "type", "string");
+	    val_node = xmlNewTextChild(slot_node, NULL, (xmlChar *)"slot:value",
+				       (xmlChar *)gnc_quote_source_get_old_internal_name(source));
+	    xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"string");
 
 	    tz = gnc_commodity_get_quote_tz(com);
 	    if (tz) {
-	      slot_node = xmlNewChild(kvpnode, NULL, "slot", NULL);
-	      xmlNewTextChild(slot_node, NULL, "slot:key", "old-quote-tz");
-	      val_node = xmlNewTextChild(slot_node, NULL, "slot:value", tz);
-	      xmlSetProp(val_node, "type", "string");
+	      slot_node = xmlNewChild(kvpnode, NULL, (xmlChar *)"slot", NULL);
+	      xmlNewTextChild(slot_node, NULL, (xmlChar *)"slot:key", (xmlChar *)"old-quote-tz");
+	      val_node = xmlNewTextChild(slot_node, NULL, (xmlChar *)"slot:value", (xmlChar *)tz);
+	      xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"string");
 	    }
 	  }
 	}
@@ -171,7 +171,7 @@
     PINFO ("lot list=%p", n);
     if (n && !exporting)
     {
-       xmlNodePtr toaddto = xmlNewChild(ret, NULL, act_lots_string, NULL);
+       xmlNodePtr toaddto = xmlNewChild(ret, NULL, (xmlChar *)act_lots_string, NULL);
 
        for (; n; n=n->next)
        {
@@ -234,7 +234,7 @@
     int type;
     char *string;
 
-    string = xmlNodeGetContent (node->xmlChildrenNode);
+    string = (char *)xmlNodeGetContent (node->xmlChildrenNode);
     xaccAccountStringToType(string, &type);
     xmlFree (string);
 
@@ -392,7 +392,7 @@
     {
         GNCLot *lot;
         
-        if(safe_strcmp("text", mark->name) == 0)
+        if(safe_strcmp("text", (char *)mark->name) == 0)
           continue;
 
         lot = dom_tree_to_lot(mark, pdata->book);
Index: src/backend/file/gnc-book-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-book-xml-v2.c,v
retrieving revision 1.10
diff -u -r1.10 gnc-book-xml-v2.c
--- src/backend/file/gnc-book-xml-v2.c	17 Oct 2003 04:29:18 -0000	1.10
+++ src/backend/file/gnc-book-xml-v2.c	30 Dec 2004 20:59:34 -0000
@@ -108,8 +108,8 @@
 {
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, gnc_book_string);
-    xmlSetProp(ret, "version", gnc_v2_book_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_book_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)gnc_v2_book_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(book_id_string, qof_book_get_guid(book)));
 
Index: src/backend/file/gnc-commodity-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-commodity-xml-v2.c,v
retrieving revision 1.8
diff -u -r1.8 gnc-commodity-xml-v2.c
--- src/backend/file/gnc-commodity-xml-v2.c	2 Jul 2003 03:34:48 -0000	1.8
+++ src/backend/file/gnc-commodity-xml-v2.c	30 Dec 2004 20:59:35 -0000
@@ -67,9 +67,9 @@
     const char *string;
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, gnc_commodity_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_commodity_string);
 
-    xmlSetProp(ret, "version", commodity_version_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)commodity_version_string);
     
     xmlAddChild(ret, text_to_dom_tree(cmdty_namespace,
                                       gnc_commodity_get_namespace(com)));
@@ -94,7 +94,7 @@
                                      gnc_commodity_get_fraction(com)));
 
     if (gnc_commodity_get_quote_flag(com)) {
-      xmlNewChild(ret, NULL, cmdty_get_quotes, NULL);
+      xmlNewChild(ret, NULL, (xmlChar *)cmdty_get_quotes, NULL);
       source = gnc_commodity_get_quote_source(com);
       if (source)
 	xmlAddChild(ret, text_to_dom_tree(cmdty_quote_source,
@@ -126,28 +126,28 @@
 static void
 set_commodity_value(xmlNodePtr node, gnc_commodity* com)
 {
-    if(safe_strcmp(node->name, cmdty_fraction) == 0)
+    if(safe_strcmp((char *)node->name, cmdty_fraction) == 0)
     {
         gint64 val;
         char *string;
 
-        string = xmlNodeGetContent (node->xmlChildrenNode);
+        string = (char *)xmlNodeGetContent (node->xmlChildrenNode);
         if(string_to_gint64(string, &val))
         {
             gnc_commodity_set_fraction(com, val);
         }
         xmlFree (string);
     }
-    else if(safe_strcmp(node->name, cmdty_get_quotes) == 0)
+    else if(safe_strcmp((char *)node->name, cmdty_get_quotes) == 0)
     {
 	gnc_commodity_set_quote_flag(com, TRUE);
     }
-    else if(safe_strcmp(node->name, cmdty_quote_source) == 0)
+    else if(safe_strcmp((char *)node->name, cmdty_quote_source) == 0)
     {
         gnc_quote_source *source;
         char *string;
 
-        string = xmlNodeGetContent (node->xmlChildrenNode);
+        string = (char *)xmlNodeGetContent (node->xmlChildrenNode);
 	source = gnc_quote_source_lookup_by_internal(string);
 	if (!source)
 	  source = gnc_quote_source_add_new(string, FALSE);
@@ -160,7 +160,7 @@
 
         for(mark = com_handlers; mark->tag; mark++)
         {
-            if(safe_strcmp(mark->tag, node->name) == 0)
+            if(safe_strcmp(mark->tag, (char *)node->name) == 0)
             {
                 gchar* val = dom_tree_to_text(node);
                 g_strstrip(val);
Index: src/backend/file/gnc-freqspec-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-freqspec-xml-v2.c,v
retrieving revision 1.9
diff -u -r1.9 gnc-freqspec-xml-v2.c
--- src/backend/file/gnc-freqspec-xml-v2.c	11 Mar 2004 01:17:14 -0000	1.9
+++ src/backend/file/gnc-freqspec-xml-v2.c	30 Dec 2004 20:59:35 -0000
@@ -154,8 +154,8 @@
         xmlNodePtr                ret;
         xmlNodePtr                xmlSub;
 
-        ret = xmlNewNode( NULL, "gnc:freqspec" );
-        xmlSetProp( ret, "version", freqspec_version_string );
+        ret = xmlNewNode( NULL, (xmlChar *)"gnc:freqspec" );
+        xmlSetProp( ret, (xmlChar *)"version", (xmlChar *)freqspec_version_string );
 
         xmlAddChild( ret, guid_to_dom_tree( "fs:id", &fs->entity.guid ) );
 
@@ -166,11 +166,11 @@
         switch( fs->type ) {
 
         case INVALID: {
-                xmlSub = xmlNewNode( NULL, "fs:none" );
+                xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:none" );
         } break;
 
         case ONCE: {
-                xmlSub = xmlNewNode( NULL, "fs:once" );
+                xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:once" );
                 xmlAddChild( xmlSub, 
                              gdate_to_dom_tree( "fs:date", 
                                                 &fs->s.once.date ) );
@@ -178,7 +178,7 @@
         } break;
 
         case DAILY: {
-                        xmlSub = xmlNewNode( NULL, "fs:daily" );
+                        xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:daily" );
                         xmlAddChild( xmlSub, 
                                      guint_to_dom_tree(
                                              "fs:interval", 
@@ -193,7 +193,7 @@
         } break;
         
         case WEEKLY: {
-                xmlSub = xmlNewNode( NULL, "fs:weekly" );
+                xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:weekly" );
                 xmlAddChild( xmlSub, 
                              guint_to_dom_tree( 
                                      "fs:interval", 
@@ -208,7 +208,7 @@
         } break;
         
         case MONTHLY: {
-                xmlSub = xmlNewNode( NULL, "fs:monthly" );
+                xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:monthly" );
                 xmlAddChild( xmlSub, 
                              guint_to_dom_tree( 
                                      "fs:interval", 
@@ -228,7 +228,7 @@
         } break;
         
         case MONTH_RELATIVE: {
-                xmlSub = xmlNewNode( NULL, "fs:month_relative" );
+                xmlSub = xmlNewNode( NULL, (xmlChar *)"fs:month_relative" );
                 xmlAddChild( xmlSub, 
                              guint_to_dom_tree( 
                                      "fs:interval", 
@@ -255,7 +255,7 @@
         case COMPOSITE: {
                 GList *subelts;
                 xmlNodePtr xmlComposites;
-                xmlComposites = xmlNewNode( NULL, "fs:composite" );
+                xmlComposites = xmlNewNode( NULL, (xmlChar *)"fs:composite" );
                 subelts = fs->s.composites.subSpecs;
                 while( subelts ) {
                         xmlAddChild( xmlComposites,
Index: src/backend/file/gnc-lot-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-lot-xml-v2.c,v
retrieving revision 1.5
diff -u -r1.5 gnc-lot-xml-v2.c
--- src/backend/file/gnc-lot-xml-v2.c	27 Jun 2003 02:53:56 -0000	1.5
+++ src/backend/file/gnc-lot-xml-v2.c	30 Dec 2004 20:59:36 -0000
@@ -63,8 +63,8 @@
     kvp_frame *kf;
 
 	 ENTER("(lot=%p)", lot);
-    ret = xmlNewNode(NULL, gnc_lot_string);
-    xmlSetProp(ret, "version", lot_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_lot_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)lot_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(lot_id_string, gnc_lot_get_guid(lot)));
 
Index: src/backend/file/gnc-pricedb-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-pricedb-xml-v2.c,v
retrieving revision 1.8
diff -u -r1.8 gnc-pricedb-xml-v2.c
--- src/backend/file/gnc-pricedb-xml-v2.c	1 Sep 2003 15:08:20 -0000	1.8
+++ src/backend/file/gnc-pricedb-xml-v2.c	30 Dec 2004 20:59:37 -0000
@@ -92,34 +92,34 @@
   if(!p || !sub_node) return FALSE;
 
   gnc_price_begin_edit (p);
-  if(safe_strcmp("price:id", sub_node->name) == 0) {
+  if(safe_strcmp("price:id", (char *)sub_node->name) == 0) {
     GUID *c = dom_tree_to_guid(sub_node);
     if(!c) return FALSE; 
     gnc_price_set_guid(p, c);
     g_free(c);
-  } else if(safe_strcmp("price:commodity", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:commodity", (char *)sub_node->name) == 0) {
     gnc_commodity *c = dom_tree_to_commodity_ref(sub_node, book);
     if(!c) return FALSE;
     gnc_price_set_commodity(p, c);
-  } else if(safe_strcmp("price:currency", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:currency", (char *)sub_node->name) == 0) {
     gnc_commodity *c = dom_tree_to_commodity_ref(sub_node, book);
     if(!c) return FALSE;
     gnc_price_set_currency(p, c);
-  } else if(safe_strcmp("price:time", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:time", (char *)sub_node->name) == 0) {
     Timespec t = dom_tree_to_timespec(sub_node);
     if(!is_valid_timespec(t)) return FALSE;
     gnc_price_set_time(p, t);
-  } else if(safe_strcmp("price:source", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:source", (char *)sub_node->name) == 0) {
     char *text = dom_tree_to_text(sub_node);
     if(!text) return FALSE;
     gnc_price_set_source(p, text);
     g_free(text);
-  } else if(safe_strcmp("price:type", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:type", (char *)sub_node->name) == 0) {
     char *text = dom_tree_to_text(sub_node);
     if(!text) return FALSE;
     gnc_price_set_type(p, text);
     g_free(text);
-  } else if(safe_strcmp("price:value", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:value", (char *)sub_node->name) == 0) {
     gnc_numeric *value = dom_tree_to_gnc_numeric(sub_node);
     if(!value) return FALSE;
     gnc_price_set_value(p, *value);
@@ -378,7 +378,7 @@
 
   if (!(tag && price)) return NULL;
   
-  price_xml = xmlNewNode(NULL, tag);
+  price_xml = xmlNewNode(NULL, (xmlChar *)tag);
   if(!price_xml) return NULL;
 
   commodity = gnc_price_get_commodity(price);
@@ -440,10 +440,10 @@
 
   if(!tag) return NULL;
 
-  db_xml= xmlNewNode(NULL, tag);
+  db_xml= xmlNewNode(NULL, (xmlChar *)tag);
   if(!db_xml) return NULL;
 
-  xmlSetProp(db_xml, "version", "1");
+  xmlSetProp(db_xml, (xmlChar *)"version", (xmlChar *)"1");
 
   if(!gnc_pricedb_foreach_price(db, xml_add_gnc_price_adapter, db_xml, TRUE))
   {
Index: src/backend/file/gnc-schedxaction-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-schedxaction-xml-v2.c,v
retrieving revision 1.22
diff -u -r1.22 gnc-schedxaction-xml-v2.c
--- src/backend/file/gnc-schedxaction-xml-v2.c	17 Oct 2003 04:29:19 -0000	1.22
+++ src/backend/file/gnc-schedxaction-xml-v2.c	30 Dec 2004 20:59:37 -0000
@@ -155,20 +155,20 @@
     templ_acc_guid = xaccAccountGetGUID(sx->template_acct);
 
     /* FIXME: this should be the same as the def in io-gncxml-v2.c */
-    ret = xmlNewNode( NULL, GNC_SCHEDXACTION_TAG );
+    ret = xmlNewNode( NULL, (xmlChar *)GNC_SCHEDXACTION_TAG );
 
-    xmlSetProp( ret, "version", schedxaction_version_string );
+    xmlSetProp( ret, (xmlChar *)"version", (xmlChar *)schedxaction_version_string );
 
     xmlAddChild( ret,
                  guid_to_dom_tree(SX_ID,
                                   xaccSchedXactionGetGUID(sx)) );
 
-    xmlNewTextChild( ret, NULL, SX_NAME, xaccSchedXactionGetName(sx) );
+    xmlNewTextChild( ret, NULL, (xmlChar *)SX_NAME, (xmlChar *)xaccSchedXactionGetName(sx) );
 
-    xmlNewTextChild( ret, NULL, SX_AUTOCREATE,
-                     ( sx->autoCreateOption ? "y" : "n" ) );
-    xmlNewTextChild( ret, NULL, SX_AUTOCREATE_NOTIFY,
-                     ( sx->autoCreateNotify ? "y" : "n" ) );
+    xmlNewTextChild( ret, NULL, (xmlChar *)SX_AUTOCREATE,
+                     (xmlChar *)( sx->autoCreateOption ? "y" : "n" ) );
+    xmlNewTextChild( ret, NULL, (xmlChar *)SX_AUTOCREATE_NOTIFY,
+                     (xmlChar *)( sx->autoCreateNotify ? "y" : "n" ) );
     xmlAddChild(ret, int_to_dom_tree(SX_ADVANCE_CREATE_DAYS,
                                      sx->advanceCreateDays));
     xmlAddChild(ret, int_to_dom_tree(SX_ADVANCE_REMIND_DAYS,
@@ -206,7 +206,7 @@
 				  templ_acc_guid));
 				  
     /* output freq spec */
-    fsNode = xmlNewNode(NULL, SX_FREQSPEC);
+    fsNode = xmlNewNode(NULL, (xmlChar *)SX_FREQSPEC);
     xmlAddChild( fsNode,
                  gnc_freqSpec_dom_tree_create(
                          xaccSchedXactionGetFreqSpec(sx)) );
@@ -221,7 +221,7 @@
             for ( l = gnc_sx_get_defer_instances( sx ); l; l = l->next ) {
                     tsd = (temporalStateData*)l->data;
 
-                    instNode = xmlNewNode( NULL, SX_DEFER_INSTANCE );
+                    instNode = xmlNewNode( NULL, (xmlChar *)SX_DEFER_INSTANCE );
                     if ( g_date_valid( &tsd->last_date ) )
                     {
                       xmlAddChild( instNode, gdate_to_dom_tree( SX_LAST,
Index: src/backend/file/gnc-transaction-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/gnc-transaction-xml-v2.c,v
retrieving revision 1.12
diff -u -r1.12 gnc-transaction-xml-v2.c
--- src/backend/file/gnc-transaction-xml-v2.c	17 Oct 2003 05:21:31 -0000	1.12
+++ src/backend/file/gnc-transaction-xml-v2.c	30 Dec 2004 20:59:38 -0000
@@ -70,7 +70,7 @@
 {
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
 
     xmlAddChild(ret, guid_to_dom_tree("split:id", xaccSplitGetGUID(spl)));
     
@@ -79,7 +79,7 @@
 
         if(memo && safe_strcmp(memo, "") != 0)
         {
-            xmlNewTextChild(ret, NULL, "split:memo", memo);
+            xmlNewTextChild(ret, NULL, (xmlChar *)"split:memo", (xmlChar *)memo);
         }
     }
 
@@ -88,7 +88,7 @@
 
         if(action && safe_strcmp(action, "") != 0)
         {
-            xmlNewTextChild(ret, NULL, "split:action", action);
+            xmlNewTextChild(ret, NULL, (xmlChar *)"split:action", (xmlChar *)action);
         }
     }
 
@@ -98,7 +98,7 @@
         tmp[0] = xaccSplitGetReconcile(spl);
         tmp[1] = '\0';
 
-        xmlNewTextChild(ret, NULL, "split:reconciled-state", tmp);
+        xmlNewTextChild(ret, NULL, (xmlChar *)"split:reconciled-state", (xmlChar *)tmp);
     }
 
     add_timespec(ret, "split:reconcile-date",
@@ -141,7 +141,7 @@
     GList *n;
     xmlNodePtr toaddto;
 
-    toaddto = xmlNewChild(node, NULL, "trn:splits", NULL);
+    toaddto = xmlNewChild(node, NULL, (xmlChar *)"trn:splits", NULL);
     
     for (n=xaccTransGetSplitList(trn); n; n=n->next)
     {
@@ -155,9 +155,9 @@
 {
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, "gnc:transaction");
+    ret = xmlNewNode(NULL, (xmlChar *)"gnc:transaction");
 
-    xmlSetProp(ret, "version", transaction_version_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)transaction_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree("trn:id", xaccTransGetGUID(trn)));
 
@@ -166,7 +166,7 @@
 
     if(xaccTransGetNum(trn) && (safe_strcmp(xaccTransGetNum(trn), "") != 0))
     {
-        xmlNewTextChild(ret, NULL, "trn:num", xaccTransGetNum(trn));
+        xmlNewTextChild(ret, NULL, (xmlChar *)"trn:num", (xmlChar *)xaccTransGetNum(trn));
     }
 
     add_timespec(ret, "trn:date-posted", xaccTransRetDatePostedTS(trn), TRUE);
@@ -176,8 +176,8 @@
 
     if(xaccTransGetDescription(trn))
     {
-        xmlNewTextChild(ret, NULL, "trn:description",
-                        xaccTransGetDescription(trn));
+        xmlNewTextChild(ret, NULL, (xmlChar *)"trn:description",
+                        (xmlChar *)xaccTransGetDescription(trn));
     }
     
     {
@@ -538,10 +538,10 @@
     {
         Split *spl;
         
-        if(safe_strcmp("text", mark->name) == 0)
+        if(safe_strcmp("text", (char *)mark->name) == 0)
           continue;
 
-        if(safe_strcmp("trn:split", mark->name))
+        if(safe_strcmp("trn:split", (char *)mark->name))
         {
             return FALSE;
         }
Index: src/backend/file/io-gncxml-v1.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/io-gncxml-v1.c,v
retrieving revision 1.31
diff -u -r1.31 io-gncxml-v1.c
--- src/backend/file/io-gncxml-v1.c	13 Jun 2004 16:48:31 -0000	1.31
+++ src/backend/file/io-gncxml-v1.c	30 Dec 2004 20:59:42 -0000
@@ -3567,34 +3567,34 @@
 
   gnc_price_begin_edit (p);
 
-  if(safe_strcmp("price:id", sub_node->name) == 0) {
+  if(safe_strcmp("price:id", (char *)sub_node->name) == 0) {
     GUID *c = dom_tree_to_guid(sub_node);
     if(!c) return FALSE; 
     gnc_price_set_guid(p, c);
     g_free(c);
-  } else if(safe_strcmp("price:commodity", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:commodity", (char *)sub_node->name) == 0) {
     gnc_commodity *c = dom_tree_to_commodity_ref(sub_node, book);
     if(!c) return FALSE;
     gnc_price_set_commodity(p, c);
-  } else if(safe_strcmp("price:currency", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:currency", (char *)sub_node->name) == 0) {
     gnc_commodity *c = dom_tree_to_commodity_ref(sub_node, book);
     if(!c) return FALSE;
     gnc_price_set_currency(p, c);
-  } else if(safe_strcmp("price:time", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:time", (char *)sub_node->name) == 0) {
     Timespec t = dom_tree_to_timespec(sub_node);
     if(!is_valid_timespec(t)) return FALSE;
     gnc_price_set_time(p, t);
-  } else if(safe_strcmp("price:source", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:source", (char *)sub_node->name) == 0) {
     char *text = dom_tree_to_text(sub_node);
     if(!text) return FALSE;
     gnc_price_set_source(p, text);
     g_free(text);
-  } else if(safe_strcmp("price:type", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:type", (char *)sub_node->name) == 0) {
     char *text = dom_tree_to_text(sub_node);
     if(!text) return FALSE;
     gnc_price_set_type(p, text);
     g_free(text);
-  } else if(safe_strcmp("price:value", sub_node->name) == 0) {
+  } else if(safe_strcmp("price:value", (char *)sub_node->name) == 0) {
     gnc_numeric *value = dom_tree_to_gnc_numeric(sub_node);
     if(!value) return FALSE;
     gnc_price_set_value(p, *value);
Index: src/backend/file/io-gncxml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/io-gncxml-v2.c,v
retrieving revision 1.43
diff -u -r1.43 io-gncxml-v2.c
--- src/backend/file/io-gncxml-v2.c	13 Jun 2004 16:48:31 -0000	1.43
+++ src/backend/file/io-gncxml-v2.c	30 Dec 2004 20:59:42 -0000
@@ -354,7 +354,7 @@
     
     g_return_val_if_fail(tree, FALSE);
 
-    type = xmlGetProp(tree, "cd:type");
+    type = (char *)xmlGetProp(tree, (xmlChar *)"cd:type");
     strval = dom_tree_to_text(tree);
     if(!string_to_gint64(strval, &val))
     {
@@ -766,9 +766,9 @@
         {
             val = g_strdup_printf("%d", amount);
 
-            node = xmlNewNode(NULL, COUNT_DATA_TAG);
-            xmlSetProp(node, "cd:type", type);
-            xmlNodeAddContent(node, val);
+            node = xmlNewNode(NULL, (xmlChar *)COUNT_DATA_TAG);
+            xmlSetProp(node, (xmlChar *)"cd:type", (xmlChar *)type);
+            xmlNodeAddContent(node, (xmlChar *)val);
 
             xmlElemDump(out, NULL, node);
             fprintf(out, "\n");
Index: src/backend/file/sixtp-dom-generators.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/sixtp-dom-generators.c,v
retrieving revision 1.8
diff -u -r1.8 sixtp-dom-generators.c
--- src/backend/file/sixtp-dom-generators.c	17 Oct 2003 04:47:46 -0000	1.8
+++ src/backend/file/sixtp-dom-generators.c	30 Dec 2004 20:59:42 -0000
@@ -46,9 +46,9 @@
 
   g_return_val_if_fail(tag, NULL);
   g_return_val_if_fail(str, NULL);
-  result = xmlNewNode(NULL, tag);
+  result = xmlNewNode(NULL, (xmlChar *)tag);
   g_return_val_if_fail(result, NULL);
-  xmlNodeAddContent(result, str);
+  xmlNodeAddContent(result, (xmlChar *)str);
   return result;
 }
 
@@ -70,9 +70,9 @@
     char guid_str[GUID_ENCODING_LENGTH + 1];
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
 
-    xmlSetProp(ret, "type", "guid");
+    xmlSetProp(ret, (xmlChar *)"type", (xmlChar *)"guid");
 
     if (!guid_to_string_buff(gid, guid_str))
     {
@@ -80,7 +80,7 @@
         return NULL;
     }
 
-    xmlNodeAddContent(ret, guid_str);
+    xmlNodeAddContent(ret, (xmlChar *)guid_str);
 
     return ret;
 }
@@ -92,15 +92,15 @@
 
     g_return_val_if_fail(c, NULL);
     
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
 
     if(!gnc_commodity_get_namespace(c) || !gnc_commodity_get_mnemonic(c))
     {
         return NULL;
     }
     
-    xmlNewTextChild(ret, NULL, "cmdty:space", gnc_commodity_get_namespace(c));
-    xmlNewTextChild(ret, NULL, "cmdty:id", gnc_commodity_get_mnemonic(c));
+    xmlNewTextChild(ret, NULL, (xmlChar *)"cmdty:space", (xmlChar *)gnc_commodity_get_namespace(c));
+    xmlNewTextChild(ret, NULL, (xmlChar *)"cmdty:id", (xmlChar *)gnc_commodity_get_mnemonic(c));
 
     return ret;
 }
@@ -142,14 +142,14 @@
 		return NULL;
 	}
     
-	ret = xmlNewNode(NULL, tag);
+	ret = xmlNewNode(NULL, (xmlChar *)tag);
     
-	xmlNewTextChild(ret, NULL, "ts:date", date_str);
+	xmlNewTextChild(ret, NULL, (xmlChar *)"ts:date", (xmlChar *)date_str);
 
 	if(spec->tv_nsec > 0){
 		ns_str = timespec_nsec_to_string(spec);
 		if(ns_str){
-			xmlNewTextChild(ret, NULL, "ts:ns", ns_str);
+			xmlNewTextChild(ret, NULL, (xmlChar *)"ts:ns", (xmlChar *)ns_str);
 		}
 	}
 
@@ -172,9 +172,9 @@
 
 	g_date_strftime( date_str, 512, "%Y-%m-%d", date );
 
-	ret = xmlNewNode(NULL, tag);
+	ret = xmlNewNode(NULL, (xmlChar *)tag);
 
-	xmlNewTextChild(ret, NULL, "gdate", date_str);
+	xmlNewTextChild(ret, NULL, (xmlChar *)"gdate", (xmlChar *)date_str);
 
 	g_free(date_str);
 
@@ -192,9 +192,9 @@
     numstr = gnc_numeric_to_string(*num);
     g_return_val_if_fail(numstr, NULL);
 
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
 
-    xmlNodeAddContent(ret, numstr);
+    xmlNodeAddContent(ret, (xmlChar *)numstr);
 
     g_free(numstr);
 
@@ -234,8 +234,8 @@
 static void
 add_text_to_node(xmlNodePtr node, gchar *type, gchar *val)
 {
-    xmlSetProp(node, "type", type);
-    xmlNodeSetContent(node, val);
+    xmlSetProp(node, (xmlChar *)"type", (xmlChar *)type);
+    xmlNodeSetContent(node, (xmlChar *)val);
     g_free(val);
 }
 
@@ -254,11 +254,11 @@
     kvp_type = kvp_value_get_type(val);
 
     if (kvp_type == KVP_TYPE_STRING)
-      val_node = xmlNewTextChild(node, NULL, tag, kvp_value_get_string(val));
+      val_node = xmlNewTextChild(node, NULL, (xmlChar *)tag, (xmlChar *)kvp_value_get_string(val));
     else if (kvp_type == KVP_TYPE_TIMESPEC)
       val_node = NULL;
     else
-      val_node = xmlNewTextChild(node, NULL, tag, NULL);
+      val_node = xmlNewTextChild(node, NULL, (xmlChar *)tag, NULL);
 
     switch(kvp_value_get_type(val))
     {
@@ -277,7 +277,7 @@
                          gnc_numeric_to_string(kvp_value_get_numeric(val)));
         break;
     case KVP_TYPE_STRING:
-        xmlSetProp(val_node, "type", "string");
+        xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"string");
         break;
     case KVP_TYPE_GUID:
         add_text_to_node(val_node,"guid",
@@ -288,7 +288,7 @@
       Timespec ts = kvp_value_get_timespec (val);
 
       val_node = timespec_to_dom_tree (tag, &ts);
-      xmlSetProp (val_node, "type", "timespec");
+      xmlSetProp (val_node, (xmlChar *)"type", (xmlChar *)"timespec");
       xmlAddChild (node, val_node);
     }
     break;
@@ -296,10 +296,10 @@
     {
         guint64 size;
         void *binary_data = kvp_value_get_binary(val, &size);
-        xmlSetProp(val_node, "type", "binary");
+        xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"binary");
         g_return_if_fail(binary_data);
         tmp_str1 = binary_to_string(binary_data, size);
-        xmlNodeSetContent(val_node, tmp_str1);
+        xmlNodeSetContent(val_node, (xmlChar *)tmp_str1);
         g_free(tmp_str1);
     }
     break;
@@ -307,7 +307,7 @@
     {
         GList *cursor;
         
-        xmlSetProp(val_node, "type", "list");
+        xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"list");
         for(cursor = kvp_value_get_glist(val); cursor; cursor = cursor->next)
         {
             kvp_value *val = (kvp_value*)cursor->data;
@@ -320,7 +320,7 @@
     {
         kvp_frame *frame;
 
-        xmlSetProp(val_node, "type", "frame");
+        xmlSetProp(val_node, (xmlChar *)"type", (xmlChar *)"frame");
 
         frame = kvp_value_get_frame (val);
         if (!frame || !kvp_frame_get_hash (frame))
@@ -342,9 +342,9 @@
     xmlNodePtr slot_node;
     xmlNodePtr node = (xmlNodePtr)data;
 
-    slot_node = xmlNewChild(node, NULL, "slot", NULL);
+    slot_node = xmlNewChild(node, NULL, (xmlChar *)"slot", NULL);
 
-    xmlNewTextChild(slot_node, NULL, "slot:key", (gchar*)key);
+    xmlNewTextChild(slot_node, NULL, (xmlChar *)"slot:key", (xmlChar *)key);
 
     add_kvp_value_node(slot_node, "slot:value", (kvp_value*)value);
 }
@@ -369,7 +369,7 @@
         return NULL;
     }
     
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
     
     g_hash_table_foreach(kvp_frame_get_hash(frame), add_kvp_slot, ret);
     
@@ -384,9 +384,9 @@
     numstr = g_strdup_printf( "%u", an_int );
     g_return_val_if_fail(numstr, NULL);
 
-    ret = xmlNewNode(NULL, tag);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
 
-    xmlNodeAddContent(ret, numstr);
+    xmlNodeAddContent(ret, (xmlChar *)numstr);
 
     g_free(numstr);
 
Index: src/backend/file/sixtp-dom-parsers.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/sixtp-dom-parsers.c,v
retrieving revision 1.18
diff -u -r1.18 sixtp-dom-parsers.c
--- src/backend/file/sixtp-dom-parsers.c	1 Nov 2004 01:37:09 -0000	1.18
+++ src/backend/file/sixtp-dom-parsers.c	30 Dec 2004 20:59:43 -0000
@@ -45,7 +45,7 @@
         return NULL;
     }
 
-    if(strcmp(node->properties->name, "type") != 0)
+    if(strcmp((char *)node->properties->name, "type") != 0)
     {
         PERR("Unknown attribute for id tag: %s",
              node->properties->name ?
@@ -56,7 +56,7 @@
     {
         char *type;
 
-        type = xmlNodeGetContent (node->properties->xmlAttrPropertyValue);
+        type = (char *)xmlNodeGetContent (node->properties->xmlAttrPropertyValue);
 
         /* handle new and guid the same for the moment */
         if((safe_strcmp("guid", type) == 0) || (safe_strcmp("new", type) == 0))
@@ -64,7 +64,7 @@
             GUID *gid = g_new(GUID, 1);
             char *guid_str;
 
-            guid_str = xmlNodeGetContent (node->xmlChildrenNode);
+            guid_str = (char *)xmlNodeGetContent (node->xmlChildrenNode);
             string_to_guid(guid_str, gid);
             xmlFree (guid_str);
             xmlFree (type);
@@ -274,7 +274,7 @@
     {
         kvp_value *new_val;
 
-        if (safe_strcmp (mark->name, "text") == 0)
+        if (safe_strcmp ((char *)mark->name, "text") == 0)
           continue;
 
         new_val = dom_tree_to_kvp_value(mark);
@@ -335,10 +335,10 @@
     struct kvp_val_converter *mark;
     kvp_value *ret = NULL;
 
-    xml_type = xmlGetProp(node, "type");
+    xml_type = xmlGetProp(node, (xmlChar *)"type");
     if(xml_type)
     {
-        type = g_strdup (xml_type);
+        type = g_strdup ((char *)xml_type);
         xmlFree (xml_type);
     }
     else
@@ -372,7 +372,7 @@
 
     for(mark = node->xmlChildrenNode; mark; mark = mark->next)
     {
-        if(safe_strcmp(mark->name, "slot") == 0)
+        if(safe_strcmp((char *)mark->name, "slot") == 0)
         {
             xmlNodePtr mark2;
             gchar *key = NULL;
@@ -380,11 +380,11 @@
 
             for(mark2 = mark->xmlChildrenNode; mark2; mark2 = mark2->next)
             {
-                if(safe_strcmp(mark2->name, "slot:key") == 0)
+                if(safe_strcmp((char *)mark2->name, "slot:key") == 0)
                 {
                     key = dom_tree_to_text(mark2);
                 }
-                else if(safe_strcmp(mark2->name, "slot:value") == 0)
+                else if(safe_strcmp((char *)mark2->name, "slot:value") == 0)
                 {
                     val = dom_tree_to_kvp_value(mark2);
                 }
@@ -456,7 +456,7 @@
       return g_strdup("");
   }
 
-  temp = xmlNodeListGetString (NULL, tree->xmlChildrenNode, TRUE);
+  temp = (gchar *)xmlNodeListGetString (NULL, tree->xmlChildrenNode, TRUE);
   if (!temp) 
   {
     PINFO ("Null string");
@@ -529,7 +529,7 @@
     case XML_TEXT_NODE:
       break;
     case XML_ELEMENT_NODE:
-      if(safe_strcmp("ts:date", n->name) == 0) {
+      if(safe_strcmp("ts:date", (char *)n->name) == 0) {
         if(seen_s)
         {
             return timespec_failure(ret);
@@ -550,7 +550,7 @@
           seen_s = TRUE;
         }
       }
-      else if(safe_strcmp("ts:ns", n->name) == 0) {
+      else if(safe_strcmp("ts:ns", (char *)n->name) == 0) {
         if(seen_ns)
         {
             return timespec_failure(ret);
@@ -612,7 +612,7 @@
     case XML_TEXT_NODE:
       break;
     case XML_ELEMENT_NODE:
-      if(safe_strcmp("gdate", n->name) == 0) {
+      if(safe_strcmp("gdate", (char *)n->name) == 0) {
         if(seen_date) {
             goto failure;
         } else {
@@ -681,7 +681,7 @@
     case XML_TEXT_NODE:
       break;
     case XML_ELEMENT_NODE:
-      if(safe_strcmp("cmdty:space", n->name) == 0) {
+      if(safe_strcmp("cmdty:space", (char *)n->name) == 0) {
         if(space_str) {
           return NULL;
         } else {
@@ -689,7 +689,7 @@
           if(!content) return NULL;
           space_str = content;
         }
-      } else if(safe_strcmp("cmdty:id", n->name) == 0) {
+      } else if(safe_strcmp("cmdty:id", (char *)n->name) == 0) {
         if(id_str) {
           return NULL;
         } else {
@@ -808,10 +808,10 @@
     for(achild = node->xmlChildrenNode; achild; achild = achild->next)
     {
         /* ignore stray text nodes */
-        if (safe_strcmp (achild->name, "text") == 0)
+        if (safe_strcmp ((char *)achild->name, "text") == 0)
           continue;
 
-        if(!gnc_xml_set_data(achild->name, achild, data, handlers))
+        if(!gnc_xml_set_data((char *)achild->name, achild, data, handlers))
         {
             PERR("gnc_xml_set_data failed");
             successful = FALSE;
Index: src/backend/file/sixtp-to-dom-parser.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/sixtp-to-dom-parser.c,v
retrieving revision 1.4
diff -u -r1.4 sixtp-to-dom-parser.c
--- src/backend/file/sixtp-to-dom-parser.c	8 Dec 2001 01:44:36 -0000	1.4
+++ src/backend/file/sixtp-to-dom-parser.c	30 Dec 2004 20:59:44 -0000
@@ -45,7 +45,7 @@
 
     if(parent_data == NULL)
     {
-        thing = xmlNewNode(global_namespace, tag);
+        thing = xmlNewNode(global_namespace, (xmlChar *)tag);
         /* only publish the result if we're the parent */
         *result = thing;
     }
@@ -53,7 +53,7 @@
     {
         thing = xmlNewChild((xmlNodePtr) parent_data,
                             global_namespace,
-                            tag,
+                            (xmlChar *)tag,
                             NULL);
         *result = NULL;
     }
@@ -63,7 +63,7 @@
     {
         while(*atptr != 0)
         {
-            xmlSetProp(thing, atptr[0], atptr[1]);
+            xmlSetProp(thing, (xmlChar *)atptr[0], (xmlChar *)atptr[1]);
             atptr += 2;
         }
     }
@@ -88,7 +88,7 @@
 {
     if(length > 0)
     {
-        xmlNodeAddContentLen((xmlNodePtr)parent_data, text, length);
+        xmlNodeAddContentLen((xmlNodePtr)parent_data, (xmlChar *)text, length);
     }
     return TRUE;
 }
Index: src/backend/file/sixtp.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/sixtp.c,v
retrieving revision 1.9
diff -u -r1.9 sixtp.c
--- src/backend/file/sixtp.c	10 Aug 2003 23:35:28 -0000	1.9
+++ src/backend/file/sixtp.c	30 Dec 2004 20:59:45 -0000
@@ -431,11 +431,11 @@
                                           pdata->global_data,
                                           &(current_frame->frame_data),
                                           current_frame->tag,
-                                          name);
+                                          (char *)name);
   }
 
   /* now allocate the new stack frame and shift to it */
-  new_frame = sixtp_stack_frame_new(next_parser, g_strdup(name));
+  new_frame = sixtp_stack_frame_new(next_parser, g_strdup((char *)name));
 
   new_frame->line = getLineNumber( pdata->saxParserCtxt );
   new_frame->col  = getColumnNumber( pdata->saxParserCtxt );
@@ -450,7 +450,7 @@
                                  pdata->global_data,
                                  &new_frame->data_for_children,
                                  &new_frame->frame_data,
-                                 name,
+                                 (char *)name,
                                  (gchar**)attrs);
   }
 }
@@ -471,7 +471,7 @@
                                         frame->data_for_children,
                                         pdata->global_data,
                                         &result,
-                                        text,
+                                        (char *)text,
                                         len);
     if(pdata->parsing_ok && result)
     {
@@ -504,13 +504,13 @@
 
   /* time to make sure we got the right closing tag.  Is this really
      necessary? */
-  if(safe_strcmp(current_frame->tag, name) != 0) 
+  if(safe_strcmp(current_frame->tag, (char *)name) != 0) 
   {
     PWARN ("bad closing tag (start <%s>, end <%s>)", current_frame->tag, name);
     pdata->parsing_ok = FALSE;
 
     /* See if we're just off by one and try to recover */
-    if(safe_strcmp(parent_frame->tag, name) == 0) {
+    if(safe_strcmp(parent_frame->tag, (char *)name) == 0) {
       pdata->stack = sixtp_pop_and_destroy_frame(pdata->stack);
       current_frame = (sixtp_stack_frame *) pdata->stack->data;
       parent_frame = (sixtp_stack_frame *) pdata->stack->next->data;
Index: src/backend/file/test/test-dom-converters1.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-dom-converters1.c,v
retrieving revision 1.6
diff -u -r1.6 test-dom-converters1.c
--- src/backend/file/test/test-dom-converters1.c	1 Sep 2003 15:08:24 -0000	1.6
+++ src/backend/file/test/test-dom-converters1.c	30 Dec 2004 20:59:45 -0000
@@ -62,10 +62,10 @@
         gchar *test_string2;
         xmlNodePtr test_node;
 
-        test_node = xmlNewNode(NULL, "test-node");
+        test_node = xmlNewNode(NULL, (xmlChar *)"test-node");
         test_string1 = get_random_string();
 
-        xmlNodeAddContent(test_node, test_string1);
+        xmlNodeAddContent(test_node, (xmlChar *)test_string1);
 
         test_string2 = dom_tree_to_text(test_node);
 
Index: src/backend/file/test/test-file-stuff.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-file-stuff.c,v
retrieving revision 1.9
diff -u -r1.9 test-file-stuff.c
--- src/backend/file/test/test-file-stuff.c	17 Oct 2003 05:21:37 -0000	1.9
+++ src/backend/file/test/test-file-stuff.c	30 Dec 2004 20:59:45 -0000
@@ -97,7 +97,7 @@
     g_return_val_if_fail(node->properties->xmlAttrPropertyValue->content,
                          FALSE);
 
-    verteststr = node->properties->xmlAttrPropertyValue->content;
+    verteststr = (char *)node->properties->xmlAttrPropertyValue->content;
     if(safe_strcmp(verstr, verteststr) == 0)
     {
         return TRUE;
Index: src/backend/file/test/test-string-converters.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-string-converters.c,v
retrieving revision 1.4
diff -u -r1.4 test-string-converters.c
--- src/backend/file/test/test-string-converters.c	10 Jun 2003 18:38:37 -0000	1.4
+++ src/backend/file/test/test-string-converters.c	30 Dec 2004 20:59:45 -0000
@@ -23,7 +23,7 @@
     {
         bin_data *test_data1;
         void *test_data2;
-        gint64 test_data2_len;
+        guint64 test_data2_len;
         gchar *converted;
         
         test_data1 = get_random_binary_data();
Index: src/backend/file/test/test-xml-account.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-xml-account.c,v
retrieving revision 1.16
diff -u -r1.16 test-xml-account.c
--- src/backend/file/test/test-xml-account.c	9 Sep 2003 15:05:53 -0000	1.16
+++ src/backend/file/test/test-xml-account.c	30 Dec 2004 20:59:45 -0000
@@ -31,7 +31,7 @@
 {
     xmlNodePtr mark;
 
-    while (safe_strcmp (node->name, "text") == 0)
+    while (safe_strcmp ((char *)node->name, "text") == 0)
       node = node->next;
 
     if(!check_dom_tree_version(node, "2.0.0"))
@@ -39,31 +39,31 @@
         return g_strdup("version wrong.  Not 2.0.0 or not there");
     }
 
-    if(!node->name || safe_strcmp(node->name, "gnc:account"))
+    if(!node->name || safe_strcmp((char *)node->name, "gnc:account"))
     {
         return g_strdup("Name of toplevel node is bad");
     }
 
     for(mark = node->xmlChildrenNode; mark; mark = mark->next)
     {
-        if(safe_strcmp(mark->name, "text") == 0)
+        if(safe_strcmp((char *)mark->name, "text") == 0)
         {
         }
-        else if(safe_strcmp(mark->name, "act:name") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:name") == 0)
         {
             if(!equals_node_val_vs_string(mark, xaccAccountGetName(act)))
             {
                 return g_strdup("names differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:id") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:id") == 0)
         {
             if(!equals_node_val_vs_guid(mark, xaccAccountGetGUID(act)))
             {
                 return g_strdup("ids differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:type") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:type") == 0)
         {
             gchar *txt;
             int type;
@@ -89,7 +89,7 @@
                 g_free(txt);
             }
         }
-        else if(safe_strcmp(mark->name, "act:commodity") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:commodity") == 0)
         {
             if(!equals_node_val_vs_commodity(
                    mark, xaccAccountGetCommodity(act), xaccAccountGetBook(act)))
@@ -97,14 +97,14 @@
                 return g_strdup("commodities differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:code") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:code") == 0)
         {
             if(!equals_node_val_vs_string(mark, xaccAccountGetCode(act)))
             {
                 return g_strdup("codes differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:description") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:description") == 0)
         {
             if(!equals_node_val_vs_string(
                    mark, xaccAccountGetDescription(act)))
@@ -112,7 +112,7 @@
                 return g_strdup("descriptions differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:slots") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:slots") == 0)
         {
             /* xaccAccountDeleteOldData (act); */
 
@@ -121,7 +121,7 @@
                 return g_strdup("slots differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:parent") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:parent") == 0)
         {
             if(!equals_node_val_vs_guid(
                    mark, xaccAccountGetGUID(xaccGroupGetParentAccount(
@@ -130,7 +130,7 @@
                 return g_strdup("parent ids differ");
             }
         }
-        else if(safe_strcmp(mark->name, "act:commodity-scu") == 0)
+        else if(safe_strcmp((char *)mark->name, "act:commodity-scu") == 0)
         {
             if(!equals_node_val_vs_int(mark, xaccAccountGetCommoditySCU(act)))
             {
Index: src/backend/file/test/test-xml-commodity.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-xml-commodity.c,v
retrieving revision 1.10
diff -u -r1.10 test-xml-commodity.c
--- src/backend/file/test/test-xml-commodity.c	1 Sep 2003 15:08:26 -0000	1.10
+++ src/backend/file/test/test-xml-commodity.c	30 Dec 2004 20:59:45 -0000
@@ -31,7 +31,7 @@
 {
     xmlNodePtr mark;
 
-    while (safe_strcmp (node->name, "text") == 0)
+    while (safe_strcmp ((char *)node->name, "text") == 0)
       node = node->next;
 
     if(!check_dom_tree_version(node, "2.0.0"))
@@ -39,17 +39,17 @@
         return "version wrong.  Not 2.0.0 or not there";
     }
 
-    if(!node->name || safe_strcmp(node->name, "gnc:commodity"))
+    if(!node->name || safe_strcmp((char *)node->name, "gnc:commodity"))
     {
         return "Name of toplevel node is bad";
     }
 
     for(mark = node->xmlChildrenNode; mark; mark = mark->next)
     {
-        if(safe_strcmp(mark->name, "text") == 0)
+        if(safe_strcmp((char *)mark->name, "text") == 0)
         {
         }
-        else if(safe_strcmp(mark->name, "cmdty:space") == 0)
+        else if(safe_strcmp((char *)mark->name, "cmdty:space") == 0)
         {
             if(!equals_node_val_vs_string(
                    mark, gnc_commodity_get_namespace(com)))
@@ -57,7 +57,7 @@
                 return "namespaces differ";
             }
         }
-        else if(safe_strcmp(mark->name, "cmdty:id") == 0)
+        else if(safe_strcmp((char *)mark->name, "cmdty:id") == 0)
         {
             if(!equals_node_val_vs_string(
                    mark, gnc_commodity_get_mnemonic(com)))
@@ -65,7 +65,7 @@
                 return "mnemonic differ";
             }
         }
-        else if(safe_strcmp(mark->name, "cmdty:name") == 0)
+        else if(safe_strcmp((char *)mark->name, "cmdty:name") == 0)
         {
             if(!equals_node_val_vs_string(
                    mark, gnc_commodity_get_fullname(com)))
@@ -73,7 +73,7 @@
                 return "names differ";
             }
         }
-        else if(safe_strcmp(mark->name, "cmdty:xcode") == 0)
+        else if(safe_strcmp((char *)mark->name, "cmdty:xcode") == 0)
         {
             if(!equals_node_val_vs_string(
                    mark, gnc_commodity_get_exchange_code(com)))
@@ -81,7 +81,7 @@
                 return "exchange codes differ";
             }
         }
-        else if(safe_strcmp(mark->name, "cmdty:fraction") == 0)
+        else if(safe_strcmp((char *)mark->name, "cmdty:fraction") == 0)
         {
             gchar *txt;
             gint64 type;
Index: src/backend/file/test/test-xml-transaction.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/backend/file/test/test-xml-transaction.c,v
retrieving revision 1.21
diff -u -r1.21 test-xml-transaction.c
--- src/backend/file/test/test-xml-transaction.c	1 Sep 2003 15:08:26 -0000	1.21
+++ src/backend/file/test/test-xml-transaction.c	30 Dec 2004 20:59:46 -0000
@@ -47,7 +47,7 @@
 
         for(mark2 = mark->xmlChildrenNode; mark2; mark2 = mark2->next)
         {
-            if(safe_strcmp(mark2->name, "split:value") == 0)
+            if(safe_strcmp((char *)mark2->name, "split:value") == 0)
             {
                 gnc_numeric *num = dom_tree_to_gnc_numeric(mark2);
 
@@ -58,7 +58,7 @@
 
                 g_free(num);
             }
-            else if(safe_strcmp(mark2->name, "split:account") == 0)
+            else if(safe_strcmp((char *)mark2->name, "split:account") == 0)
             {
                 GUID *accid = dom_tree_to_guid(mark2);
                 Account *account = xaccSplitGetAccount (spl);
@@ -87,7 +87,7 @@
     
     for(mark = node->childs; mark != NULL; mark = mark->next)
     {
-        if(safe_strcmp(mark->name, "split:id") == 0)
+        if(safe_strcmp((char *)mark->name, "split:id") == 0)
         {
             GUID *id = dom_tree_to_guid(mark);
 
@@ -98,7 +98,7 @@
             }
             g_free(id);
         }
-        else if(safe_strcmp(mark->name, "split:memo") == 0)
+        else if(safe_strcmp((char *)mark->name, "split:memo") == 0)
         {
             char *memo = dom_tree_to_text(mark);
 
@@ -109,7 +109,7 @@
             }
             g_free(memo);
         }
-        else if(safe_strcmp(mark->name, "split:reconciled-state") == 0)
+        else if(safe_strcmp((char *)mark->name, "split:reconciled-state") == 0)
         {
             char *rs = dom_tree_to_text(mark);
 
@@ -120,7 +120,7 @@
             }
             g_free(rs);
         }
-        else if(safe_strcmp(mark->name, "split:value") == 0)
+        else if(safe_strcmp((char *)mark->name, "split:value") == 0)
         {
             gnc_numeric *num = dom_tree_to_gnc_numeric(mark);
             gnc_numeric val = xaccSplitGetValue(spl);
@@ -134,7 +134,7 @@
             }
             g_free(num);
         }
-        else if(safe_strcmp(mark->name, "split:quantity") == 0)
+        else if(safe_strcmp((char *)mark->name, "split:quantity") == 0)
         {
             gnc_numeric *num = dom_tree_to_gnc_numeric(mark);
             gnc_numeric val = xaccSplitGetAmount(spl);
@@ -153,7 +153,7 @@
             }
             g_free(num);
         }
-        else if(safe_strcmp(mark->name, "split:account") == 0)
+        else if(safe_strcmp((char *)mark->name, "split:account") == 0)
         {
             GUID *id = dom_tree_to_guid(mark);
             Account *account = xaccSplitGetAccount (spl);
@@ -206,7 +206,7 @@
 {
     xmlNodePtr mark;
     
-    while (safe_strcmp (node->name, "text") == 0)
+    while (safe_strcmp ((char *)node->name, "text") == 0)
       node = node->next;
 
     if(!check_dom_tree_version(node, "2.0.0"))
@@ -214,24 +214,24 @@
         return "version wrong.  Not 2.0.0 or not there";
     }
 
-    if(!node->name || safe_strcmp(node->name, "gnc:transaction"))
+    if(!node->name || safe_strcmp((char *)node->name, "gnc:transaction"))
     {
         return "Name of toplevel node is bad";
     }
 
     for(mark = node->xmlChildrenNode; mark; mark = mark->next)
     {
-        if(safe_strcmp(mark->name, "text") == 0)
+        if(safe_strcmp((char *)mark->name, "text") == 0)
         {
         }
-        else if(safe_strcmp(mark->name, "trn:id") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:id") == 0)
         {
             if(!equals_node_val_vs_guid(mark, xaccTransGetGUID(trn)))
             {
                 return "ids differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:currency") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:currency") == 0)
         {
             if(!equals_node_val_vs_commodity(
                    mark, xaccTransGetCurrency(trn), xaccTransGetBook(trn)))
@@ -239,42 +239,42 @@
                 return g_strdup("currencies differ");
             }
         }
-        else if(safe_strcmp(mark->name, "trn:num") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:num") == 0)
         {
             if(!equals_node_val_vs_string(mark, xaccTransGetNum(trn)))
             {
                 return "nums differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:date-posted") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:date-posted") == 0)
         {
             if(!equals_node_val_vs_date(mark, xaccTransRetDatePostedTS(trn)))
             {
                 return "posted dates differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:date-entered") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:date-entered") == 0)
         {
             if(!equals_node_val_vs_date(mark, xaccTransRetDateEnteredTS(trn)))
             {
                 return "entered dates differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:description") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:description") == 0)
         {
             if(!equals_node_val_vs_string(mark, xaccTransGetDescription(trn)))
             {
                 return "descriptions differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:slots") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:slots") == 0)
         {
             if(!equals_node_val_vs_kvp_frame(mark, xaccTransGetSlots(trn)))
             {
                 return "slots differ";
             }
         }
-        else if(safe_strcmp(mark->name, "trn:splits") == 0)
+        else if(safe_strcmp((char *)mark->name, "trn:splits") == 0)
         {
             char *msg = equals_node_val_vs_splits (mark, trn);
             if(msg != NULL)
Index: src/business/business-core/file/gnc-address-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-address-xml-v2.c,v
retrieving revision 1.2
diff -u -r1.2 gnc-address-xml-v2.c
--- src/business/business-core/file/gnc-address-xml-v2.c	11 Sep 2003 17:36:58 -0000	1.2
+++ src/business/business-core/file/gnc-address-xml-v2.c	30 Dec 2004 20:59:46 -0000
@@ -72,8 +72,8 @@
 {
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, tag);
-    xmlSetProp(ret, "version", address_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)address_version_string);
 
     maybe_add_string (ret, addr_name_string, gncAddressGetName (addr));
     
Index: src/business/business-core/file/gnc-bill-term-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-bill-term-xml-v2.c,v
retrieving revision 1.11
diff -u -r1.11 gnc-bill-term-xml-v2.c
--- src/business/business-core/file/gnc-bill-term-xml-v2.c	19 Oct 2003 05:13:49 -0000	1.11
+++ src/business/business-core/file/gnc-bill-term-xml-v2.c	30 Dec 2004 20:59:48 -0000
@@ -84,8 +84,8 @@
 {
     xmlNodePtr ret, data, kvpnode;
 
-    ret = xmlNewNode(NULL, gnc_billterm_string);
-    xmlSetProp(ret, "version", billterm_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_billterm_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)billterm_version_string);
 
     maybe_add_guid(ret, billterm_guid_string, QOF_INSTANCE(term));
     xmlAddChild(ret, text_to_dom_tree (billterm_name_string,
@@ -113,7 +113,7 @@
 
     switch (gncBillTermGetType (term)) {
     case GNC_TERM_TYPE_DAYS:
-      data = xmlNewChild (ret, NULL, gnc_daystype_string, NULL);
+      data = xmlNewChild (ret, NULL, (xmlChar *)gnc_daystype_string, NULL);
       maybe_add_int (data, days_duedays_string, gncBillTermGetDueDays (term));
       maybe_add_int (data, days_discdays_string,
 		     gncBillTermGetDiscountDays (term));
@@ -122,7 +122,7 @@
       break;
 
     case GNC_TERM_TYPE_PROXIMO:
-      data = xmlNewChild (ret, NULL, gnc_proximotype_string, NULL);
+      data = xmlNewChild (ret, NULL, (xmlChar *)gnc_proximotype_string, NULL);
       maybe_add_int (data, prox_dueday_string, gncBillTermGetDueDays (term));
       maybe_add_int (data, prox_discday_string,
 		     gncBillTermGetDiscountDays (term));
Index: src/business/business-core/file/gnc-customer-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-customer-xml-v2.c,v
retrieving revision 1.18
diff -u -r1.18 gnc-customer-xml-v2.c
--- src/business/business-core/file/gnc-customer-xml-v2.c	19 Oct 2003 05:13:49 -0000	1.18
+++ src/business/business-core/file/gnc-customer-xml-v2.c	30 Dec 2004 20:59:48 -0000
@@ -85,8 +85,8 @@
     GncBillTerm *term;
     GncTaxTable *taxtable;
 
-    ret = xmlNewNode(NULL, gnc_customer_string);
-    xmlSetProp(ret, "version", customer_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_customer_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)customer_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(cust_guid_string,
 				      qof_instance_get_guid(QOF_INSTANCE(cust))));
Index: src/business/business-core/file/gnc-employee-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-employee-xml-v2.c,v
retrieving revision 1.11
diff -u -r1.11 gnc-employee-xml-v2.c
--- src/business/business-core/file/gnc-employee-xml-v2.c	19 Oct 2003 05:13:51 -0000	1.11
+++ src/business/business-core/file/gnc-employee-xml-v2.c	30 Dec 2004 20:59:48 -0000
@@ -84,8 +84,8 @@
     gnc_numeric num;
     Account* ccard_acc;
 
-    ret = xmlNewNode(NULL, gnc_employee_string);
-    xmlSetProp(ret, "version", employee_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_employee_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)employee_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(employee_guid_string,
 				      qof_instance_get_guid(QOF_INSTANCE (employee))));
Index: src/business/business-core/file/gnc-entry-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-entry-xml-v2.c,v
retrieving revision 1.18
diff -u -r1.18 gnc-entry-xml-v2.c
--- src/business/business-core/file/gnc-entry-xml-v2.c	19 Oct 2003 05:13:51 -0000	1.18
+++ src/business/business-core/file/gnc-entry-xml-v2.c	30 Dec 2004 20:59:49 -0000
@@ -120,8 +120,8 @@
     GncOrder *order;
     GncInvoice *invoice;
 
-    ret = xmlNewNode(NULL, gnc_entry_string);
-    xmlSetProp(ret, "version", entry_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_entry_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)entry_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(entry_guid_string,
 				      qof_instance_get_guid(QOF_INSTANCE(entry))));
Index: src/business/business-core/file/gnc-invoice-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-invoice-xml-v2.c,v
retrieving revision 1.19
diff -u -r1.19 gnc-invoice-xml-v2.c
--- src/business/business-core/file/gnc-invoice-xml-v2.c	19 Oct 2003 05:13:52 -0000	1.19
+++ src/business/business-core/file/gnc-invoice-xml-v2.c	30 Dec 2004 20:59:49 -0000
@@ -101,8 +101,8 @@
     GncOwner *billto;
     gnc_numeric amt;
 
-    ret = xmlNewNode(NULL, gnc_invoice_string);
-    xmlSetProp(ret, "version", invoice_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_invoice_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)invoice_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(invoice_guid_string,
 				      qof_instance_get_guid(QOF_INSTANCE(invoice))));
Index: src/business/business-core/file/gnc-job-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-job-xml-v2.c,v
retrieving revision 1.8
diff -u -r1.8 gnc-job-xml-v2.c
--- src/business/business-core/file/gnc-job-xml-v2.c	19 Oct 2003 05:13:52 -0000	1.8
+++ src/business/business-core/file/gnc-job-xml-v2.c	30 Dec 2004 20:59:49 -0000
@@ -70,8 +70,8 @@
 {
     xmlNodePtr ret;
 
-    ret = xmlNewNode(NULL, gnc_job_string);
-    xmlSetProp(ret, "version", job_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_job_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)job_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(job_guid_string,
 				      qof_instance_get_guid (QOF_INSTANCE (job))));
Index: src/business/business-core/file/gnc-order-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-order-xml-v2.c,v
retrieving revision 1.9
diff -u -r1.9 gnc-order-xml-v2.c
--- src/business/business-core/file/gnc-order-xml-v2.c	19 Oct 2003 05:13:52 -0000	1.9
+++ src/business/business-core/file/gnc-order-xml-v2.c	30 Dec 2004 20:59:50 -0000
@@ -79,8 +79,8 @@
     xmlNodePtr ret;
     Timespec ts;
 
-    ret = xmlNewNode(NULL, gnc_order_string);
-    xmlSetProp(ret, "version", order_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_order_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)order_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(order_guid_string,
 				      qof_instance_get_guid(QOF_INSTANCE (order))));
Index: src/business/business-core/file/gnc-owner-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-owner-xml-v2.c,v
retrieving revision 1.4
diff -u -r1.4 gnc-owner-xml-v2.c
--- src/business/business-core/file/gnc-owner-xml-v2.c	19 Oct 2003 05:13:53 -0000	1.4
+++ src/business/business-core/file/gnc-owner-xml-v2.c	30 Dec 2004 20:59:50 -0000
@@ -83,8 +83,8 @@
       return NULL;
     }
 
-    ret = xmlNewNode(NULL, tag);
-    xmlSetProp(ret, "version", owner_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)tag);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)owner_version_string);
 
     xmlAddChild (ret, text_to_dom_tree (owner_type_string, type_str));
     xmlAddChild (ret, guid_to_dom_tree (owner_id_string,
Index: src/business/business-core/file/gnc-tax-table-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-tax-table-xml-v2.c,v
retrieving revision 1.10
diff -u -r1.10 gnc-tax-table-xml-v2.c
--- src/business/business-core/file/gnc-tax-table-xml-v2.c	19 Oct 2003 05:13:53 -0000	1.10
+++ src/business/business-core/file/gnc-tax-table-xml-v2.c	30 Dec 2004 20:59:52 -0000
@@ -86,7 +86,7 @@
   Account *account;
   gnc_numeric amount;
 
-  ret = xmlNewNode(NULL, gnc_taxtableentry_string);
+  ret = xmlNewNode(NULL, (xmlChar *)gnc_taxtableentry_string);
 
   account = gncTaxTableEntryGetAccount (entry);
   if (account)
@@ -109,8 +109,8 @@
     xmlNodePtr ret, entries;
     GList *list;
 
-    ret = xmlNewNode(NULL, gnc_taxtable_string);
-    xmlSetProp(ret, "version", taxtable_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_taxtable_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)taxtable_version_string);
 
     maybe_add_guid(ret, taxtable_guid_string, table);
     xmlAddChild(ret, text_to_dom_tree (taxtable_name_string,
@@ -127,7 +127,7 @@
 
     maybe_add_guid(ret, taxtable_parent_string, gncTaxTableGetParent (table));
 
-    entries = xmlNewChild (ret, NULL, taxtable_entries_string, NULL);
+    entries = xmlNewChild (ret, NULL, (xmlChar *)taxtable_entries_string, NULL);
     for (list = gncTaxTableGetEntries (table); list; list = list->next) {
       GncTaxTableEntry *entry = list->data;
       xmlAddChild(entries, ttentry_dom_tree_create (entry));
@@ -343,10 +343,10 @@
   for (mark = node->xmlChildrenNode; mark; mark = mark->next) {
     GncTaxTableEntry *entry;
         
-    if (safe_strcmp ("text", mark->name) == 0)
+    if (safe_strcmp ("text", (char *)mark->name) == 0)
       continue;
 
-    if (safe_strcmp (gnc_taxtableentry_string, mark->name))
+    if (safe_strcmp (gnc_taxtableentry_string, (char *)mark->name))
       return FALSE;
 
     entry = dom_tree_to_ttentry (mark, pdata->book);
Index: src/business/business-core/file/gnc-vendor-xml-v2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/file/gnc-vendor-xml-v2.c,v
retrieving revision 1.17
diff -u -r1.17 gnc-vendor-xml-v2.c
--- src/business/business-core/file/gnc-vendor-xml-v2.c	19 Oct 2003 05:13:54 -0000	1.17
+++ src/business/business-core/file/gnc-vendor-xml-v2.c	30 Dec 2004 20:59:52 -0000
@@ -81,8 +81,8 @@
     GncBillTerm *term;
     GncTaxTable *taxtable;
 
-    ret = xmlNewNode(NULL, gnc_vendor_string);
-    xmlSetProp(ret, "version", vendor_version_string);
+    ret = xmlNewNode(NULL, (xmlChar *)gnc_vendor_string);
+    xmlSetProp(ret, (xmlChar *)"version", (xmlChar *)vendor_version_string);
 
     xmlAddChild(ret, guid_to_dom_tree(vendor_guid_string,
 				      qof_instance_get_guid (QOF_INSTANCE(vendor))));
Index: src/engine/gnc-numeric.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/gnc-numeric.c,v
retrieving revision 1.60
diff -u -r1.60 gnc-numeric.c
--- src/engine/gnc-numeric.c	1 Nov 2004 01:37:09 -0000	1.60
+++ src/engine/gnc-numeric.c	30 Dec 2004 20:59:53 -0000
@@ -725,6 +725,9 @@
   double      sigfigs;
   qofint128 nume, newm;
 
+  temp.num   = 1;   /* temp needs to initialize otherwise gcc4 complains  - jce */
+  temp.denom = 0;   /* initialize to 0-divide hoping that something bad happens if it gets used */
+
   if(gnc_numeric_check(in)) {
     return gnc_numeric_error(GNC_ERROR_ARG);
   }
Index: src/engine/guid.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/guid.c,v
retrieving revision 1.33
diff -u -r1.33 guid.c
--- src/engine/guid.c	3 May 2004 03:33:15 -0000	1.33
+++ src/engine/guid.c	30 Dec 2004 20:59:53 -0000
@@ -103,7 +103,7 @@
 }
 
 
-const GUID *
+GUID *
 guid_null(void)
 {
   static int null_inited = (0 == 1);
@@ -485,7 +485,7 @@
 	* is just hiding the problem, not fixing it.
 	*/
   init_from_int (433781*counter);
-  init_from_buff (guid->data, 16);
+  init_from_buff ((char *)guid->data, 16);
 
   if (counter == 0)
   {
@@ -505,7 +505,7 @@
   counter--;
 }
 
-const GUID
+GUID
 guid_new_return(void)
 {
   GUID guid;
Index: src/engine/guid.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/guid.h,v
retrieving revision 1.22
diff -u -r1.22 guid.h
--- src/engine/guid.h	6 May 2004 14:42:00 -0000	1.22
+++ src/engine/guid.h	30 Dec 2004 20:59:53 -0000
@@ -131,10 +131,10 @@
  *  The memory pointed to is owned by this routine and the guid must
  *  be copied out.
  */
-const GUID guid_new_return(void);
+GUID guid_new_return(void);
 
 /** Returns a GUID which is guaranteed to never reference any entity. */
-const GUID * guid_null (void);
+GUID * guid_null (void);
 
 /** Efficiently allocate & free memory for GUIDs */
 GUID * guid_malloc (void);
Index: src/engine/kvp_frame.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/kvp_frame.c,v
retrieving revision 1.41
diff -u -r1.41 kvp_frame.c
--- src/engine/kvp_frame.c	9 Jul 2004 03:11:32 -0000	1.41
+++ src/engine/kvp_frame.c	30 Dec 2004 20:59:56 -0000
@@ -496,7 +496,7 @@
                             KvpValue * new_value) 
 {
   KvpValue * old_value;
-  char *last_key;
+  char *last_key = NULL;
 
   if (new_value)
   {
Index: src/engine/test/test-book-merge.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/test/test-book-merge.c,v
retrieving revision 1.2
diff -u -r1.2 test-book-merge.c
--- src/engine/test/test-book-merge.c	5 Dec 2004 15:35:52 -0000	1.2
+++ src/engine/test/test-book-merge.c	30 Dec 2004 20:59:56 -0000
@@ -170,6 +170,10 @@
 obj_getDate(myobj *g)
 {
 	Timespec ts;
+
+	ts.tv_nsec = 0;  /* initialize else gcc4 complains - jce */
+	ts.tv_sec = 0;
+
 	if(!g) return ts;
 	ts = g->date;
 	return ts;
Index: src/engine/test-core/test-engine-stuff.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/test-core/test-engine-stuff.c,v
retrieving revision 1.78
diff -u -r1.78 test-engine-stuff.c
--- src/engine/test-core/test-engine-stuff.c	17 Dec 2004 15:56:30 -0000	1.78
+++ src/engine/test-core/test-engine-stuff.c	30 Dec 2004 20:59:57 -0000
@@ -251,7 +251,7 @@
 
     len = get_random_int_in_range(20,100);
     ret = g_new(bin_data, 1);
-    ret->data = g_new(char, len);
+    ret->data = (void *)g_new(char, len);
     ret->len = len;
 
     for(len--; len >= 0; len--)
Index: src/gnome/gnc-split-reg.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/gnc-split-reg.c,v
retrieving revision 1.38
diff -u -r1.38 gnc-split-reg.c
--- src/gnome/gnc-split-reg.c	24 Oct 2003 06:49:44 -0000	1.38
+++ src/gnome/gnc-split-reg.c	30 Dec 2004 21:00:00 -0000
@@ -254,7 +254,7 @@
   LAST_SIGNAL
 };
 
-static gint gnc_split_reg_signals[LAST_SIGNAL] = { 0 };
+static guint gnc_split_reg_signals[LAST_SIGNAL] = { 0 };
 
 static void
 gnc_split_reg_class_init( GNCSplitRegClass *class )
Index: src/gnome/mainwindow-account-tree.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/mainwindow-account-tree.c,v
retrieving revision 1.6
diff -u -r1.6 mainwindow-account-tree.c
--- src/gnome/mainwindow-account-tree.c	9 Jun 2002 21:43:38 -0000	1.6
+++ src/gnome/mainwindow-account-tree.c	30 Dec 2004 21:00:00 -0000
@@ -38,7 +38,7 @@
       LAST_SIGNAL
     };
 
-static gint mainwinaccounttree_signals[LAST_SIGNAL] = { 0 };
+static guint mainwinaccounttree_signals[LAST_SIGNAL] = { 0 };
 
 static void
 unselect_account_callback(GNCAccountTree *tree, Account *account, gpointer user_data)
Index: src/gnome-utils/gnc-account-sel.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-account-sel.c,v
retrieving revision 1.9
diff -u -r1.9 gnc-account-sel.c
--- src/gnome-utils/gnc-account-sel.c	24 Oct 2003 06:49:50 -0000	1.9
+++ src/gnome-utils/gnc-account-sel.c	30 Dec 2004 21:00:01 -0000
@@ -42,7 +42,7 @@
         LAST_SIGNAL
 };
 
-static gint account_sel_signals [LAST_SIGNAL] = { 0 };
+static guint account_sel_signals [LAST_SIGNAL] = { 0 };
 
 static void gnc_account_sel_init         (GNCAccountSel      *gas);
 static void gnc_account_sel_class_init   (GNCAccountSelClass *class);
Index: src/gnome-utils/gnc-amount-edit.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-amount-edit.c,v
retrieving revision 1.3
diff -u -r1.3 gnc-amount-edit.c
--- src/gnome-utils/gnc-amount-edit.c	2 Jan 2003 07:10:45 -0000	1.3
+++ src/gnome-utils/gnc-amount-edit.c	30 Dec 2004 21:00:01 -0000
@@ -49,7 +49,7 @@
 };
 
 
-static gint amount_edit_signals [LAST_SIGNAL] = { 0 };
+static guint amount_edit_signals [LAST_SIGNAL] = { 0 };
 
 
 static void gnc_amount_edit_init         (GNCAmountEdit      *gae);
Index: src/gnome-utils/gnc-date-delta.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-date-delta.c,v
retrieving revision 1.2
diff -u -r1.2 gnc-date-delta.c
--- src/gnome-utils/gnc-date-delta.c	10 Jun 2003 19:03:58 -0000	1.2
+++ src/gnome-utils/gnc-date-delta.c	30 Dec 2004 21:00:01 -0000
@@ -53,7 +53,7 @@
   LAST_SIGNAL
 };
 
-static gint date_delta_signals [LAST_SIGNAL] = { 0 };
+static guint date_delta_signals [LAST_SIGNAL] = { 0 };
 
 
 static void gnc_date_delta_init       (GNCDateDelta      *gdd);
Index: src/gnome-utils/gnc-date-edit.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-date-edit.c,v
retrieving revision 1.11
diff -u -r1.11 gnc-date-edit.c
--- src/gnome-utils/gnc-date-edit.c	28 Jul 2003 18:44:21 -0000	1.11
+++ src/gnome-utils/gnc-date-edit.c	30 Dec 2004 21:00:03 -0000
@@ -53,7 +53,7 @@
 	LAST_SIGNAL
 };
 
-static gint date_edit_signals [LAST_SIGNAL] = { 0 };
+static guint date_edit_signals [LAST_SIGNAL] = { 0 };
 
 
 static void gnc_date_edit_init         (GNCDateEdit      *gde);
@@ -140,7 +140,7 @@
 day_selected (GtkCalendar *calendar, GNCDateEdit *gde)
 {
 	char buffer [40];
-	gint year, month, day;
+	guint year, month, day;
 
 	gtk_calendar_get_date (calendar, &year, &month, &day);
 
Index: src/gnome-utils/gnc-date-format.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-date-format.c,v
retrieving revision 1.3
diff -u -r1.3 gnc-date-format.c
--- src/gnome-utils/gnc-date-format.c	9 Jun 2003 03:38:26 -0000	1.3
+++ src/gnome-utils/gnc-date-format.c	30 Dec 2004 21:00:03 -0000
@@ -67,7 +67,7 @@
   GtkWidget*	label_box;
 };
 
-static gint date_format_signals [LAST_SIGNAL] = { 0 };
+static guint date_format_signals [LAST_SIGNAL] = { 0 };
 
 
 static void gnc_date_format_init         (GNCDateFormat      *gdf);
Index: src/gnome-utils/gnc-dense-cal.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-dense-cal.c,v
retrieving revision 1.13
diff -u -r1.13 gnc-dense-cal.c
--- src/gnome-utils/gnc-dense-cal.c	11 Mar 2004 01:17:14 -0000	1.13
+++ src/gnome-utils/gnc-dense-cal.c	30 Dec 2004 21:00:05 -0000
@@ -94,7 +94,7 @@
   LAST_SIGNAL
 };
 
-static gint gnc_dense_cal_signals[LAST_SIGNAL] = { 0 };
+static guint gnc_dense_cal_signals[LAST_SIGNAL] = { 0 };
 
 static short module = MOD_SX;
 
@@ -119,29 +119,29 @@
 static gint gnc_dense_cal_button_press( GtkWidget *widget,
                                         GdkEventButton *evt );
 
-static const inline int day_width_at( GncDenseCal *dcal, guint xScale );
-static const inline int day_width( GncDenseCal *dcal );
-static const inline int day_height_at( GncDenseCal *dcal, guint yScale );
-static const inline int day_height( GncDenseCal *dcal );
-static const inline int week_width_at( GncDenseCal *dcal, guint xScale );
-static const inline int week_width( GncDenseCal *dcal );
-static const inline int week_height_at( GncDenseCal *dcal, guint yScale );
-static const inline int week_height( GncDenseCal *dcal );
-static const inline int col_width_at( GncDenseCal *dcal, guint xScale );
-static const inline int col_width( GncDenseCal *dcal );
+static inline int day_width_at( GncDenseCal *dcal, guint xScale );
+static inline int day_width( GncDenseCal *dcal );
+static inline int day_height_at( GncDenseCal *dcal, guint yScale );
+static inline int day_height( GncDenseCal *dcal );
+static inline int week_width_at( GncDenseCal *dcal, guint xScale );
+static inline int week_width( GncDenseCal *dcal );
+static inline int week_height_at( GncDenseCal *dcal, guint yScale );
+static inline int week_height( GncDenseCal *dcal );
+static inline int col_width_at( GncDenseCal *dcal, guint xScale );
+static inline int col_width( GncDenseCal *dcal );
 
-static const inline int col_height( GncDenseCal *dcal );
-static const inline int num_cols( GncDenseCal *dcal );
+static inline int col_height( GncDenseCal *dcal );
+static inline int num_cols( GncDenseCal *dcal );
 /**
  * Returns the total number of weeks to display in the calendar [irrespective
  * of columns/weeks-per-col].
  **/
-static const inline int num_weeks( GncDenseCal *dcal );
+static inline int num_weeks( GncDenseCal *dcal );
 /**
  * Returns the number of weeks per column.  Note that this is the number of
  * weeks needed to display the longest column.
  **/
-static const int num_weeks_per_col( GncDenseCal *dcal );
+static int num_weeks_per_col( GncDenseCal *dcal );
 
 /** hotspot calculation **/
 static gint wheres_this( GncDenseCal *dcal, int x, int y );
@@ -1087,55 +1087,55 @@
         return TRUE;
 }
 
-static const inline int
+static inline int
 day_width_at( GncDenseCal *dcal, guint xScale )
 {
         return xScale + MINOR_BORDER_SIZE;
 }
 
-static const inline int
+static inline int
 day_width( GncDenseCal *dcal )
 {
         return day_width_at( dcal, dcal->x_scale );
 }
 
-static const inline int
+static inline int
 day_height_at( GncDenseCal *dcal, guint yScale )
 {
         return yScale + MINOR_BORDER_SIZE;
 }
 
-static const inline int
+static inline int
 day_height( GncDenseCal *dcal )
 {
         return day_height_at( dcal, dcal->y_scale );
 }
 
-static const inline int
+static inline int
 week_width_at( GncDenseCal *dcal, guint xScale )
 {
         return day_width_at(dcal, xScale) * 7;
 }
 
-static const inline int
+static inline int
 week_width( GncDenseCal *dcal )
 {
         return week_width_at( dcal, dcal->x_scale );
 }
 
-static const inline int
+static inline int
 week_height_at( GncDenseCal *dcal, guint yScale )
 {
         return day_height_at(dcal, yScale);
 }
 
-static const inline int
+static inline int
 week_height( GncDenseCal *dcal )
 {
         return week_height_at(dcal, dcal->y_scale);
 }
 
-static const inline int
+static inline int
 col_width_at( GncDenseCal *dcal, guint xScale )
 {
         return (week_width_at(dcal, xScale)
@@ -1143,33 +1143,33 @@
                 + COL_BORDER_SIZE);
 }
 
-static const inline int
+static inline int
 col_width( GncDenseCal *dcal )
 {
         return col_width_at( dcal, dcal->x_scale );
 }
 
-static const inline int
+static inline int
 col_height( GncDenseCal *dcal )
 {
         return week_height(dcal)
                 * num_weeks_per_col(dcal);
 }
 
-static const inline int
+static inline int
 num_cols( GncDenseCal *dcal )
 {
         return ceil( (float)dcal->numMonths / (float)dcal->monthsPerCol );
 }
 
-static const inline int
+static inline int
 num_weeks( GncDenseCal *dcal )
 {
         /* FIXME: calculate, remove 'recompute_extents' */
         return dcal->num_weeks;
 }
 
-static const
+static
 int num_weeks_per_col( GncDenseCal *dcal )
 {
         int num_weeks_toRet, numCols, i;
Index: src/gnome-utils/gnc-frequency.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-frequency.c,v
retrieving revision 1.20
diff -u -r1.20 gnc-frequency.c
--- src/gnome-utils/gnc-frequency.c	26 Jul 2003 18:35:33 -0000	1.20
+++ src/gnome-utils/gnc-frequency.c	30 Dec 2004 21:00:07 -0000
@@ -44,7 +44,7 @@
   LAST_SIGNAL
 } GNCF_Signals;
 
-static gint gnc_frequency_signals[LAST_SIGNAL] = { 0 };
+static guint gnc_frequency_signals[LAST_SIGNAL] = { 0 };
 
 /** Private Prototypes ********************/
 
