summaryrefslogtreecommitdiff
path: root/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c
diff options
context:
space:
mode:
Diffstat (limited to 'deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c')
-rw-r--r--deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c235
1 files changed, 235 insertions, 0 deletions
diff --git a/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c b/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c
new file mode 100644
index 000000000000..35d06885a78d
--- /dev/null
+++ b/deskutils/gnotime/files/patch-lib::qof::qofquery-deserial.c
@@ -0,0 +1,235 @@
+--- lib/qof/qofquery-deserial.c.orig Sun May 23 16:57:30 2004
++++ lib/qof/qofquery-deserial.c Wed Jul 7 23:54:09 2004
+@@ -80,7 +80,7 @@
+ if (0 == strcmp (TOK, node->name)) \
+ { \
+ const char *str = GET_TEXT (node); \
+- gint64 ival = atoll (str); \
++ gint64 ival = strtoll (str, (char **)NULL, 10); \
+ FN (SELF, ival); \
+ } \
+ else
+@@ -182,10 +182,11 @@
+ static QofQueryPredData * \
+ SUBRNAME (xmlNodePtr root) \
+ { \
++ QofQueryCompare how = QOF_COMPARE_EQUAL; \
++ QofQueryPredData *pred; \
+ xmlNodePtr xp = root->xmlChildrenNode; \
+ xmlNodePtr node; \
+ \
+- QofQueryCompare how = QOF_COMPARE_EQUAL; \
+ CTYPE val = 0; \
+ \
+ for (node=xp; node; node = node->next) \
+@@ -197,7 +198,6 @@
+ {} \
+ } \
+ \
+- QofQueryPredData *pred; \
+ pred = PRED (how, val); \
+ return pred; \
+ }
+@@ -245,10 +245,11 @@
+ static QofQueryPredData *
+ qof_query_pred_kvp_from_xml (xmlNodePtr root)
+ {
++ QofQueryCompare how = QOF_COMPARE_EQUAL;
++ QofQueryPredData *pred;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofQueryCompare how = QOF_COMPARE_EQUAL;
+ GSList *path = NULL;
+ KvpValue *value = NULL;
+
+@@ -271,7 +272,6 @@
+ GET_DATE(&value, wrap_new_timespec, "qofquery:date");
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_kvp_predicate (how, path, value);
+ g_slist_free (path);
+ return pred;
+@@ -282,9 +282,11 @@
+ static QofQueryPredData *
+ qof_query_pred_guid_from_xml (xmlNodePtr root)
+ {
++ QofQueryPredData *pred;
++ GList *guid_list = NULL;
++ GList *n;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+- GList *guid_list = NULL;
+
+ QofGuidMatch sm = QOF_GUID_MATCH_ANY;
+
+@@ -313,11 +315,9 @@
+ }
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_guid_predicate (sm, guid_list);
+
+ /* The predicate made a copy of everything, so free our stuff */
+- GList *n;
+ for (n=guid_list; n; n=n->next)
+ {
+ guid_free (n->data);
+@@ -331,11 +331,12 @@
+ static QofQueryPredData *
+ qof_query_pred_char_from_xml (xmlNodePtr root)
+ {
++ QofQueryPredData *pred;
++ QofCharMatch sm = QOF_CHAR_MATCH_ANY;
++ const char * char_list = NULL;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofCharMatch sm = QOF_CHAR_MATCH_ANY;
+- const char * char_list = NULL;
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -348,7 +349,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_char_predicate (sm, char_list);
+ return pred;
+ }
+@@ -358,11 +358,12 @@
+ static QofQueryPredData *
+ qof_query_pred_numeric_from_xml (xmlNodePtr root)
+ {
++ QofQueryCompare how = QOF_COMPARE_EQUAL;
++ QofNumericMatch sm = QOF_NUMERIC_MATCH_ANY;
++ QofQueryPredData *pred;
+ xmlNodePtr xp = root->xmlChildrenNode;
+ xmlNodePtr node;
+
+- QofQueryCompare how = QOF_COMPARE_EQUAL;
+- QofNumericMatch sm = QOF_NUMERIC_MATCH_ANY;
+ gnc_numeric num;
+
+ for (node=xp; node; node = node->next)
+@@ -376,7 +377,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_numeric_predicate (how, sm, num);
+ return pred;
+ }
+@@ -386,12 +386,13 @@
+ static QofQueryPredData *
+ qof_query_pred_date_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr xp = root->xmlChildrenNode;
+- xmlNodePtr node;
+-
+ QofQueryCompare how = QOF_COMPARE_EQUAL;
+ QofDateMatch sm = QOF_DATE_MATCH_ROUNDED;
+ Timespec date = {0,0};
++ QofQueryPredData *pred;
++ xmlNodePtr xp = root->xmlChildrenNode;
++ xmlNodePtr node;
++
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -404,7 +405,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_date_predicate (how, sm, date);
+ return pred;
+ }
+@@ -414,13 +414,14 @@
+ static QofQueryPredData *
+ qof_query_pred_string_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr xp = root->xmlChildrenNode;
+- xmlNodePtr node;
+-
+ QofQueryCompare how = QOF_COMPARE_EQUAL;
+ QofStringMatch sm = QOF_STRING_MATCH_CASEINSENSITIVE;
+ gboolean is_regex = FALSE;
+ const char *pstr = NULL;
++ QofQueryPredData *pred;
++ xmlNodePtr xp = root->xmlChildrenNode;
++ xmlNodePtr node;
++
+
+ for (node=xp; node; node = node->next)
+ {
+@@ -434,7 +435,6 @@
+ {}
+ }
+
+- QofQueryPredData *pred;
+ pred = qof_query_string_predicate (how, pstr, sm , is_regex);
+ return pred;
+ }
+@@ -444,8 +444,8 @@
+ static GSList *
+ qof_query_param_path_from_xml (xmlNodePtr root)
+ {
+- xmlNodePtr pterms = root->xmlChildrenNode;
+ GSList *plist = NULL;
++ xmlNodePtr pterms = root->xmlChildrenNode;
+ xmlNodePtr node;
+ for (node=pterms; node; node = node->next)
+ {
+@@ -465,10 +465,10 @@
+ static void
+ qof_query_term_from_xml (QofQuery *q, xmlNodePtr root)
+ {
+- xmlNodePtr node;
+- xmlNodePtr term = root->xmlChildrenNode;
+ QofQueryPredData *pred = NULL;
+ GSList *path = NULL;
++ xmlNodePtr node;
++ xmlNodePtr term = root->xmlChildrenNode;
+
+ for (node=term; node; node = node->next)
+ {
+@@ -476,8 +476,9 @@
+ if (0 == strcmp (node->name, "qofquery:invert"))
+ {
+ QofQuery *qt = qof_query_create();
++ QofQuery *qinv;
+ qof_query_term_from_xml (qt, node);
+- QofQuery *qinv = qof_query_invert (qt);
++ qinv = qof_query_invert (qt);
+ qof_query_merge_in_place (q, qinv, QOF_QUERY_AND);
+ qof_query_destroy (qinv);
+ qof_query_destroy (qt);
+@@ -594,10 +595,14 @@
+ qof_query_from_xml (xmlNodePtr root)
+ {
+ QofQuery *q;
++ xmlChar *version;
++ xmlNodePtr qpart;
++ xmlNodePtr node;
+
+ if (!root) return NULL;
+
+- xmlChar * version = xmlGetProp(root, "version");
++ version = xmlGetProp(root, "version");
++
+ if (!root->name || strcmp ("qof:qofquery", root->name))
+ {
+ // XXX something is wrong. warn ...
+@@ -606,8 +611,7 @@
+
+ q = qof_query_create ();
+
+- xmlNodePtr qpart = root->xmlChildrenNode;
+- xmlNodePtr node;
++ qpart = root->xmlChildrenNode;
+ for (node=qpart; node; node = node->next)
+ {
+ if (node->type != XML_ELEMENT_NODE) continue;