- transaction_splits_tostring(item, &cats, &amounts, &memos);
- g_string_append_printf(node, "scat=\"%s\" ", cats);
- g_string_append_printf(node, "samt=\"%s\" ", amounts);
-
- //fix #1173910
- gchar *escaped = g_markup_escape_text(memos, -1);
- g_string_append_printf(node, "smem=\"%s\" ", escaped);
- g_free(escaped);
+ hb_xml_append_int(node, "date", item->date);
+ hb_xml_append_amt(node, "amount", item->amount);
+ hb_xml_append_int(node, "account", item->kacc);
+ hb_xml_append_int(node, "dst_account", item->kxferacc);
+ hb_xml_append_int(node, "paymode", item->paymode);
+ hb_xml_append_int(node, "st", item->status);
+ hb_xml_append_int(node, "flags", item->flags);
+ hb_xml_append_int(node, "payee", item->kpay);
+ hb_xml_append_int(node, "category", item->kcat);
+ hb_xml_append_txt(node, "wording", item->memo);
+ hb_xml_append_txt(node, "info", item->info);
+ hb_xml_append_txt(node, "tags", tagstr);
+ hb_xml_append_int(node, "kxfer", item->kxfer);
+
+ if(da_splits_count(item->splits) > 0)
+ {
+ gchar *cats, *amounts, *memos;
+
+ da_splits_tostring(item->splits, &cats, &amounts, &memos);
+ g_string_append_printf(node, "scat=\"%s\" ", cats);
+ g_string_append_printf(node, "samt=\"%s\" ", amounts);
+
+ //fix #1173910
+ gchar *escaped = g_markup_escape_text(memos, -1);
+ g_string_append_printf(node, "smem=\"%s\" ", escaped);
+ g_free(escaped);
+
+ g_free(cats);
+ g_free(amounts);
+ g_free(memos);
+ }