void qofEntrySetInvDiscHow (GncEntry *entry, const char *type) { GncDiscountHow how; if (!entry) return; gncEntryBeginEdit (entry); gncEntryDiscountStringToHow(type, &how); if (entry->i_disc_how == how) return; entry->i_disc_how = how; entry->values_dirty = TRUE; mark_entry (entry); gncEntryCommitEdit (entry); }
static gboolean entry_idischow_handler (xmlNodePtr node, gpointer entry_pdata) { struct entry_pdata *pdata = entry_pdata; GncDiscountHow how; char *str; gboolean ret; str = dom_tree_to_text (node); g_return_val_if_fail (str, FALSE); ret = gncEntryDiscountStringToHow (str, &how); g_free (str); if (ret) gncEntrySetInvDiscountHow(pdata->entry, how); return ret; }