$NetBSD: patch-ar,v 1.1 2005/03/16 12:48:49 rillig Exp $ gcc-2.95.3 does not like code intermixed with declarations. --- lib/qof/qofquery-serialize.c.orig Sun May 23 22:57:30 2004 +++ lib/qof/qofquery-serialize.c Wed Mar 16 09:59:34 2005 @@ -228,9 +228,10 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_STRING)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-string"); + query_string_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_string_t pdata = (query_string_t) pd; + pdata = (query_string_t) pd; PUT_MATCH2("qofquery:string-match", pdata->options, STRING_MATCH, NORMAL, CASEINSENSITIVE); PUT_BOOL ("qofquery:is-regex", pdata->is_regex); @@ -240,9 +241,10 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_NUMERIC)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-numeric"); + query_numeric_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_numeric_t pdata = (query_numeric_t) pd; + pdata = (query_numeric_t) pd; PUT_MATCH3("qofquery:numeric-match", pdata->options, NUMERIC_MATCH, DEBIT, CREDIT, ANY); @@ -252,11 +254,12 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_KVP)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-kvp"); + query_kvp_t pdata; + GSList *n; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_kvp_t pdata = (query_kvp_t) pd; + pdata = (query_kvp_t) pd; - GSList *n; for (n=pdata->path; n; n=n->next) { PUT_STR ("qofquery:kvp-path", n->data); @@ -267,9 +270,10 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_DATE)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-date"); + query_date_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_date_t pdata = (query_date_t) pd; + pdata = (query_date_t) pd; PUT_MATCH2("qofquery:date-match", pdata->options, DATE_MATCH, NORMAL, ROUNDED); @@ -280,18 +284,20 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_INT64)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-int64"); + query_int64_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_int64_t pdata = (query_int64_t) pd; + pdata = (query_int64_t) pd; PUT_INT64 ("qofquery:int64", pdata->val); return topnode; } if (!safe_strcmp (pd->type_name, QOF_TYPE_INT32)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-int32"); + query_int32_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_int32_t pdata = (query_int32_t) pd; + pdata = (query_int32_t) pd; PUT_INT32 ("qofquery:int32", pdata->val); return topnode; @@ -299,9 +305,10 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_DOUBLE)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-double"); + query_double_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_double_t pdata = (query_double_t) pd; + pdata = (query_double_t) pd; PUT_DBL ("qofquery:double", pdata->val); return topnode; @@ -309,9 +316,10 @@ qof_query_pred_data_to_xml (QofQueryPred if (!safe_strcmp (pd->type_name, QOF_TYPE_BOOLEAN)) { xmlNodePtr topnode = xmlNewNode (NULL, "qofquery:pred-boolean"); + query_boolean_t pdata; PUT_HOW ("qofquery:compare", pd->how, LT, LTE, EQUAL, GT, GTE, NEQ); - query_boolean_t pdata = (query_boolean_t) pd; + pdata = (query_boolean_t) pd; PUT_BOOL ("qofquery:boolean", pdata->val); return topnode; @@ -386,9 +394,10 @@ qof_query_and_terms_to_xml (GList *and_t for ( ; n; n=n->next) { QofQueryTerm *qt = n->data; + xmlNodePtr t; if (!qt) continue; - xmlNodePtr t = qof_query_one_term_to_xml (n->data); + t = qof_query_one_term_to_xml (n->data); if (t) xmlAddChild (terms, t); } return terms; @@ -419,31 +428,37 @@ static xmlNodePtr qof_query_sorts_to_xml (QofQuery *q) { QofQuerySort *s[3]; + xmlNodePtr sortlist; + int i; qof_query_get_sorts (q, &s[0], &s[1], &s[2]); if (NULL == s[0]) return NULL; - xmlNodePtr sortlist = xmlNewNode (NULL, "qofquery:sort-list"); - int i; + sortlist = xmlNewNode (NULL, "qofquery:sort-list"); for (i=0; i<3; i++) { + GSList *plist; + xmlNodePtr sort, topnode, pl; + gboolean increasing; + gint opt; + if (NULL == s[i]) continue; - GSList *plist = qof_query_sort_get_param_path (s[i]); + plist = qof_query_sort_get_param_path (s[i]); if (!plist) continue; - xmlNodePtr sort = xmlNewNode (NULL, "qofquery:sort"); + sort = xmlNewNode (NULL, "qofquery:sort"); xmlAddChild (sortlist, sort); - xmlNodePtr topnode = sort; + topnode = sort; - gboolean increasing = qof_query_sort_get_increasing (s[i]); + increasing = qof_query_sort_get_increasing (s[i]); PUT_STR ("qofquery:order", increasing ? "DESCENDING" : "ASCENDING"); - gint opt = qof_query_sort_get_sort_options (s[i]); + opt = qof_query_sort_get_sort_options (s[i]); PUT_INT32 ("qofquery:options", opt); - xmlNodePtr pl = qof_query_param_path_to_xml (plist); + pl = qof_query_param_path_to_xml (plist); if (pl) xmlAddChild (sort, pl); } @@ -456,15 +471,17 @@ static void do_qof_query_to_xml (QofQuery *q, xmlNodePtr topnode) { QofIdType search_for = qof_query_get_search_for (q); + xmlNodePtr terms, sorts; + gint max_results; PUT_STR ("qofquery:search-for", search_for); - xmlNodePtr terms = qof_query_terms_to_xml(q); + terms = qof_query_terms_to_xml(q); if (terms) xmlAddChild (topnode, terms); - xmlNodePtr sorts = qof_query_sorts_to_xml (q); + sorts = qof_query_sorts_to_xml (q); if (sorts) xmlAddChild (topnode, sorts); - gint max_results = qof_query_get_max_results (q); + max_results = qof_query_get_max_results (q); PUT_INT32 ("qofquery:max-results", max_results); } @@ -499,6 +516,10 @@ int main (int argc, char * argv[]) { QofQuery *q; QofSqlQuery *sq; + xmlDocPtr doc; + xmlNodePtr topnode; + xmlChar *xbuf; + int bufsz; qof_query_init(); qof_object_initialize (); @@ -523,12 +544,10 @@ int main (int argc, char * argv[]) qof_query_print (q); - xmlDocPtr doc = doc = xmlNewDoc("1.0"); - xmlNodePtr topnode = qof_query_to_xml (q); + doc = doc = xmlNewDoc("1.0"); + topnode = qof_query_to_xml (q); xmlDocSetRootElement(doc,topnode); - xmlChar *xbuf; - int bufsz; xmlDocDumpFormatMemory (doc, &xbuf, &bufsz, 1); printf ("%s\n", xbuf);