void xaccAccountScrubKvp (Account *account) { const gchar *str; gchar *str2; KvpFrame *frame; if (!account) return; str = kvp_frame_get_string(account->inst.kvp_data, "notes"); if (str) { str2 = g_strstrip(g_strdup(str)); if (strlen(str2) == 0) kvp_frame_set_slot_nc (account->inst.kvp_data, "notes", NULL); g_free(str2); } str = kvp_frame_get_string(account->inst.kvp_data, "placeholder"); if (str && strcmp(str, "false") == 0) kvp_frame_set_slot_nc (account->inst.kvp_data, "placeholder", NULL); frame = kvp_frame_get_frame(account->inst.kvp_data, "hbci"); if (frame && kvp_frame_is_empty(frame)) { kvp_frame_set_frame_nc(account->inst.kvp_data, "hbci", NULL); } }
GList* gnc_sx_get_sxes_referencing_account(QofBook *book, Account *acct) { GList *rtn = NULL; const GncGUID *acct_guid = qof_entity_get_guid(QOF_INSTANCE(acct)); GList *sx_list = gnc_book_get_schedxactions(book)->sx_list; for (; sx_list != NULL; sx_list = sx_list->next) { SchedXaction *sx = (SchedXaction*)sx_list->data; GList *splits = xaccSchedXactionGetSplits(sx); for (; splits != NULL; splits = splits->next) { Split *s = (Split*)splits->data; KvpFrame *frame = kvp_frame_get_frame(xaccSplitGetSlots(s), GNC_SX_ID); GncGUID *sx_split_acct_guid = kvp_frame_get_guid(frame, GNC_SX_ACCOUNT); if (guid_equal(acct_guid, sx_split_acct_guid)) { rtn = g_list_append(rtn, sx); } } } return rtn; }