Bug #635859: Strip all trailing '/'es from kvp_slot paths when loading.

This changes round-tripping slightly (because the resulting slot key
won't have the trailing slash when it's re-saved as xml). It may also
change the behavior of the facility using the slot, because the key is
changed. So far, the only known instances which trip this bug are
import-map-bayes, because descriptions may have '/'es in them (and why
shouldn't they).

Unfortunately, fixing this right (so that key values can have embedded
'/''es and be saved/retrieved from sql databases will require changing
the slot architecture in ways that impact the engine. Since we don't
have adequate unit tests to be confident of not introducing a
regression, I'm applying this instead.



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19904 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
John Ralls 2010-12-03 23:24:34 +00:00
parent 9cdbe69e0f
commit e11c537bbe
5 changed files with 166 additions and 160 deletions

View File

@ -2,25 +2,25 @@
# This file was generated by ../make-gnucash-potfiles. # This file was generated by ../make-gnucash-potfiles.
src/app-utils/file-utils.c src/app-utils/file-utils.c
src/app-utils/gfec.c src/app-utils/gfec.c
src/app-utils/gnc-accounting-period.c
src/app-utils/gnc-account-merge.c src/app-utils/gnc-account-merge.c
src/app-utils/gnc-accounting-period.c
src/app-utils/gnc-component-manager.c src/app-utils/gnc-component-manager.c
src/app-utils/gnc-druid.c
src/app-utils/gnc-druid-cb.c src/app-utils/gnc-druid-cb.c
src/app-utils/gnc-druid-provider.c
src/app-utils/gnc-druid-provider-desc.c
src/app-utils/gnc-druid-provider-desc-edge.c src/app-utils/gnc-druid-provider-desc-edge.c
src/app-utils/gnc-druid-provider-desc-file.c src/app-utils/gnc-druid-provider-desc-file.c
src/app-utils/gnc-druid-provider-desc-multifile.c src/app-utils/gnc-druid-provider-desc-multifile.c
src/app-utils/gnc-druid-provider-desc.c
src/app-utils/gnc-druid-provider-file-cb.c src/app-utils/gnc-druid-provider-file-cb.c
src/app-utils/gnc-druid-provider.c
src/app-utils/gnc-druid.c
src/app-utils/gnc-euro.c src/app-utils/gnc-euro.c
src/app-utils/gnc-exp-parser.c src/app-utils/gnc-exp-parser.c
src/app-utils/gnc-gettext-util.c src/app-utils/gnc-gettext-util.c
src/app-utils/gnc-helpers.c
src/app-utils/gnc-help-utils.c src/app-utils/gnc-help-utils.c
src/app-utils/gncmod-app-utils.c src/app-utils/gnc-helpers.c
src/app-utils/gnc-sx-instance-model.c src/app-utils/gnc-sx-instance-model.c
src/app-utils/gnc-ui-util.c src/app-utils/gnc-ui-util.c
src/app-utils/gncmod-app-utils.c
src/app-utils/guile-util.c src/app-utils/guile-util.c
src/app-utils/option-util.c src/app-utils/option-util.c
src/backend/dbi/gnc-backend-dbi.c src/backend/dbi/gnc-backend-dbi.c
@ -74,12 +74,12 @@ src/backend/xml/io-gncxml-gen.c
src/backend/xml/io-gncxml-v1.c src/backend/xml/io-gncxml-v1.c
src/backend/xml/io-gncxml-v2.c src/backend/xml/io-gncxml-v2.c
src/backend/xml/io-utils.c src/backend/xml/io-utils.c
src/backend/xml/sixtp.c
src/backend/xml/sixtp-dom-generators.c src/backend/xml/sixtp-dom-generators.c
src/backend/xml/sixtp-dom-parsers.c src/backend/xml/sixtp-dom-parsers.c
src/backend/xml/sixtp-stack.c src/backend/xml/sixtp-stack.c
src/backend/xml/sixtp-to-dom-parser.c src/backend/xml/sixtp-to-dom-parser.c
src/backend/xml/sixtp-utils.c src/backend/xml/sixtp-utils.c
src/backend/xml/sixtp.c
src/bin/gnucash-bin.c src/bin/gnucash-bin.c
src/business/business-core/gncmod-business-core.c src/business/business-core/gncmod-business-core.c
src/business/business-gnome/business-gnome-utils.c src/business/business-gnome/business-gnome-utils.c
@ -106,9 +106,9 @@ src/business/business-gnome/glade/job.glade
src/business/business-gnome/glade/order.glade src/business/business-gnome/glade/order.glade
src/business/business-gnome/glade/payment.glade src/business/business-gnome/glade/payment.glade
src/business/business-gnome/glade/vendor.glade src/business/business-gnome/glade/vendor.glade
src/business/business-gnome/gncmod-business-gnome.c
src/business/business-gnome/gnc-plugin-business.c src/business/business-gnome/gnc-plugin-business.c
src/business/business-gnome/gnc-plugin-page-invoice.c src/business/business-gnome/gnc-plugin-page-invoice.c
src/business/business-gnome/gncmod-business-gnome.c
src/business/business-gnome/schemas/apps_gnucash_dialog_business_common.schemas.in src/business/business-gnome/schemas/apps_gnucash_dialog_business_common.schemas.in
src/business/business-gnome/search-owner.c src/business/business-gnome/search-owner.c
src/business/business-ledger/gncEntryLedger.c src/business/business-ledger/gncEntryLedger.c
@ -125,9 +125,9 @@ src/business/dialog-tax-table/tax-tables.glade
src/calculation/amort_opt.c src/calculation/amort_opt.c
src/calculation/amort_prt.c src/calculation/amort_prt.c
src/calculation/expression_parser.c src/calculation/expression_parser.c
src/calculation/fin.c
src/calculation/fin-interactive.c src/calculation/fin-interactive.c
src/calculation/fin-main.c src/calculation/fin-main.c
src/calculation/fin.c
src/calculation/gncmod-calculation.c src/calculation/gncmod-calculation.c
src/calculation/numeric_ops.c src/calculation/numeric_ops.c
src/core-utils/binreloc.c src/core-utils/binreloc.c
@ -142,49 +142,154 @@ src/core-utils/gnc-path.c
src/core-utils/gnc-uri-utils.c src/core-utils/gnc-uri-utils.c
src/doc/doxygen_main_page.c src/doc/doxygen_main_page.c
src/engine/Account.c src/engine/Account.c
src/engine/Period.c
src/engine/Query.c
src/engine/Recurrence.c
src/engine/SX-book.c
src/engine/SX-ttinfo.c
src/engine/SchedXaction.c
src/engine/Scrub.c
src/engine/Scrub2.c
src/engine/Scrub3.c
src/engine/Split.c
src/engine/TransLog.c
src/engine/Transaction.c
src/engine/cap-gains.c src/engine/cap-gains.c
src/engine/cashobjects.c src/engine/cashobjects.c
src/engine/engine-helpers.c src/engine/engine-helpers.c
src/engine/glib-helpers.c src/engine/glib-helpers.c
src/engine/gncAddress.c
src/engine/gnc-associate-account.c src/engine/gnc-associate-account.c
src/engine/gncBillTerm.c
src/engine/gnc-budget.c src/engine/gnc-budget.c
src/engine/gnc-commodity.c
src/engine/gnc-engine.c
src/engine/gnc-hooks.c
src/engine/gnc-lot.c
src/engine/gnc-pricedb.c
src/engine/gnc-session-scm.c
src/engine/gnc-session.c
src/engine/gncAddress.c
src/engine/gncBillTerm.c
src/engine/gncBusGuile.c src/engine/gncBusGuile.c
src/engine/gncBusiness.c src/engine/gncBusiness.c
src/engine/gnc-commodity.c
src/engine/gncCustomer.c src/engine/gncCustomer.c
src/engine/gncEmployee.c src/engine/gncEmployee.c
src/engine/gnc-engine.c
src/engine/gncEntry.c src/engine/gncEntry.c
src/engine/gnc-hooks.c
src/engine/gncIDSearch.c src/engine/gncIDSearch.c
src/engine/gncInvoice.c src/engine/gncInvoice.c
src/engine/gncJob.c src/engine/gncJob.c
src/engine/gnc-lot.c
src/engine/gncmod-engine.c
src/engine/gncOrder.c src/engine/gncOrder.c
src/engine/gncOwner.c src/engine/gncOwner.c
src/engine/gnc-pricedb.c
src/engine/gnc-session.c
src/engine/gnc-session-scm.c
src/engine/gncTaxTable.c src/engine/gncTaxTable.c
src/engine/gncVendor.c src/engine/gncVendor.c
src/engine/gncmod-engine.c
src/engine/kvp-scm.c src/engine/kvp-scm.c
src/engine/Period.c
src/engine/policy.c src/engine/policy.c
src/engine/Query.c
src/engine/Recurrence.c
src/engine/SchedXaction.c
src/engine/Scrub2.c
src/engine/Scrub3.c
src/engine/Scrub.c
src/engine/Split.c
src/engine/SX-book.c
src/engine/SX-ttinfo.c
src/engine/Transaction.c
src/engine/TransLog.c
src/gnc-module/gnc-module.c src/gnc-module/gnc-module.c
src/gnome-search/dialog-search.c
src/gnome-search/gnc-general-search.c
src/gnome-search/gncmod-gnome-search.c
src/gnome-search/search-account.c
src/gnome-search/search-boolean.c
src/gnome-search/search-core-type.c
src/gnome-search/search-core-utils.c
src/gnome-search/search-date.c
src/gnome-search/search-double.c
src/gnome-search/search-int64.c
src/gnome-search/search-numeric.c
src/gnome-search/search-reconciled.c
src/gnome-search/search-string.c
src/gnome-search/search.glade
src/gnome-utils/QuickFill.c
src/gnome-utils/account-quickfill.c
src/gnome-utils/cursors.c
src/gnome-utils/dialog-account.c
src/gnome-utils/dialog-book-close.c
src/gnome-utils/dialog-commodity.c
src/gnome-utils/dialog-file-access.c
src/gnome-utils/dialog-object-references.c
src/gnome-utils/dialog-options.c
src/gnome-utils/dialog-preferences.c
src/gnome-utils/dialog-query-list.c
src/gnome-utils/dialog-reset-warnings.c
src/gnome-utils/dialog-totd.c
src/gnome-utils/dialog-transfer.c
src/gnome-utils/dialog-userpass.c
src/gnome-utils/dialog-utils.c
src/gnome-utils/druid-gconf-setup.c
src/gnome-utils/druid-gnc-xml-import.c
src/gnome-utils/druid-utils.c
src/gnome-utils/glade/commodity.glade
src/gnome-utils/glade/dialog-book-close.glade
src/gnome-utils/glade/dialog-file-access.glade
src/gnome-utils/glade/dialog-object-references.glade
src/gnome-utils/glade/dialog-query-list.glade
src/gnome-utils/glade/dialog-reset-warnings.glade
src/gnome-utils/glade/druid-gconf-setup.glade
src/gnome-utils/glade/druid-gnc-xml-import.glade
src/gnome-utils/glade/druid-provider-multifile.glade
src/gnome-utils/glade/exchange-dialog.glade
src/gnome-utils/glade/gnc-date-format.glade
src/gnome-utils/glade/gnc-gui-query.glade
src/gnome-utils/glade/preferences.glade
src/gnome-utils/glade/totd.glade
src/gnome-utils/glade/transfer.glade
src/gnome-utils/gnc-account-sel.c
src/gnome-utils/gnc-amount-edit.c
src/gnome-utils/gnc-autosave.c
src/gnome-utils/gnc-commodity-edit.c
src/gnome-utils/gnc-currency-edit.c
src/gnome-utils/gnc-date-delta.c
src/gnome-utils/gnc-date-edit.c
src/gnome-utils/gnc-date-format.c
src/gnome-utils/gnc-dense-cal-model.c
src/gnome-utils/gnc-dense-cal-store.c
src/gnome-utils/gnc-dense-cal.c
src/gnome-utils/gnc-dialog.c
src/gnome-utils/gnc-druid-gnome.c
src/gnome-utils/gnc-druid-provider-edge-gnome.c
src/gnome-utils/gnc-druid-provider-file-gnome.c
src/gnome-utils/gnc-druid-provider-multifile-gnome.c
src/gnome-utils/gnc-embedded-window.c
src/gnome-utils/gnc-file.c
src/gnome-utils/gnc-frequency.c
src/gnome-utils/gnc-general-select.c
src/gnome-utils/gnc-gnome-utils.c
src/gnome-utils/gnc-gobject-utils.c
src/gnome-utils/gnc-gtk-utils.c
src/gnome-utils/gnc-gui-query.c
src/gnome-utils/gnc-icons.c
src/gnome-utils/gnc-keyring.c
src/gnome-utils/gnc-main-window.c
src/gnome-utils/gnc-menu-extensions.c
src/gnome-utils/gnc-period-select.c
src/gnome-utils/gnc-plugin-file-history.c
src/gnome-utils/gnc-plugin-manager.c
src/gnome-utils/gnc-plugin-menu-additions.c
src/gnome-utils/gnc-plugin-page.c
src/gnome-utils/gnc-plugin.c
src/gnome-utils/gnc-query-list.c
src/gnome-utils/gnc-recurrence.c
src/gnome-utils/gnc-splash.c
src/gnome-utils/gnc-sx-instance-dense-cal-adapter.c
src/gnome-utils/gnc-sx-list-tree-model-adapter.c
src/gnome-utils/gnc-tree-model-account-types.c
src/gnome-utils/gnc-tree-model-account.c
src/gnome-utils/gnc-tree-model-budget.c
src/gnome-utils/gnc-tree-model-commodity.c
src/gnome-utils/gnc-tree-model-price.c
src/gnome-utils/gnc-tree-model.c
src/gnome-utils/gnc-tree-view-account.c
src/gnome-utils/gnc-tree-view-commodity.c
src/gnome-utils/gnc-tree-view-price.c
src/gnome-utils/gnc-tree-view-sx-list.c
src/gnome-utils/gnc-tree-view.c
src/gnome-utils/gnc-window.c
src/gnome-utils/gncmod-gnome-utils.c
src/gnome-utils/misc-gnome-utils.c
src/gnome-utils/print-session.c
src/gnome-utils/schemas/apps_gnucash_history.schemas.in
src/gnome-utils/search-param.c
src/gnome-utils/window-main-summarybar.c
src/gnome/dialog-commodities.c src/gnome/dialog-commodities.c
src/gnome/dialog-fincalc.c src/gnome/dialog-fincalc.c
src/gnome/dialog-find-transactions.c src/gnome/dialog-find-transactions.c
@ -240,122 +345,17 @@ src/gnome/schemas/apps_gnucash_general.schemas.in
src/gnome/schemas/apps_gnucash_warnings.schemas.in src/gnome/schemas/apps_gnucash_warnings.schemas.in
src/gnome/schemas/apps_gnucash_window_pages_account_tree.schemas.in src/gnome/schemas/apps_gnucash_window_pages_account_tree.schemas.in
src/gnome/schemas/apps_gnucash_window_pages_register.schemas.in src/gnome/schemas/apps_gnucash_window_pages_register.schemas.in
src/gnome-search/dialog-search.c
src/gnome-search/gnc-general-search.c
src/gnome-search/gncmod-gnome-search.c
src/gnome-search/search-account.c
src/gnome-search/search-boolean.c
src/gnome-search/search-core-type.c
src/gnome-search/search-core-utils.c
src/gnome-search/search-date.c
src/gnome-search/search-double.c
src/gnome-search/search.glade
src/gnome-search/search-int64.c
src/gnome-search/search-numeric.c
src/gnome-search/search-reconciled.c
src/gnome-search/search-string.c
src/gnome/top-level.c src/gnome/top-level.c
src/gnome-utils/account-quickfill.c
src/gnome-utils/cursors.c
src/gnome-utils/dialog-account.c
src/gnome-utils/dialog-book-close.c
src/gnome-utils/dialog-commodity.c
src/gnome-utils/dialog-file-access.c
src/gnome-utils/dialog-object-references.c
src/gnome-utils/dialog-options.c
src/gnome-utils/dialog-preferences.c
src/gnome-utils/dialog-query-list.c
src/gnome-utils/dialog-reset-warnings.c
src/gnome-utils/dialog-totd.c
src/gnome-utils/dialog-transfer.c
src/gnome-utils/dialog-userpass.c
src/gnome-utils/dialog-utils.c
src/gnome-utils/druid-gconf-setup.c
src/gnome-utils/druid-gnc-xml-import.c
src/gnome-utils/druid-utils.c
src/gnome-utils/glade/commodity.glade
src/gnome-utils/glade/dialog-book-close.glade
src/gnome-utils/glade/dialog-file-access.glade
src/gnome-utils/glade/dialog-object-references.glade
src/gnome-utils/glade/dialog-query-list.glade
src/gnome-utils/glade/dialog-reset-warnings.glade
src/gnome-utils/glade/druid-gconf-setup.glade
src/gnome-utils/glade/druid-gnc-xml-import.glade
src/gnome-utils/glade/druid-provider-multifile.glade
src/gnome-utils/glade/exchange-dialog.glade
src/gnome-utils/glade/gnc-date-format.glade
src/gnome-utils/glade/gnc-gui-query.glade
src/gnome-utils/glade/preferences.glade
src/gnome-utils/glade/totd.glade
src/gnome-utils/glade/transfer.glade
src/gnome-utils/gnc-account-sel.c
src/gnome-utils/gnc-amount-edit.c
src/gnome-utils/gnc-autosave.c
src/gnome-utils/gnc-commodity-edit.c
src/gnome-utils/gnc-currency-edit.c
src/gnome-utils/gnc-date-delta.c
src/gnome-utils/gnc-date-edit.c
src/gnome-utils/gnc-date-format.c
src/gnome-utils/gnc-dense-cal.c
src/gnome-utils/gnc-dense-cal-model.c
src/gnome-utils/gnc-dense-cal-store.c
src/gnome-utils/gnc-dialog.c
src/gnome-utils/gnc-druid-gnome.c
src/gnome-utils/gnc-druid-provider-edge-gnome.c
src/gnome-utils/gnc-druid-provider-file-gnome.c
src/gnome-utils/gnc-druid-provider-multifile-gnome.c
src/gnome-utils/gnc-embedded-window.c
src/gnome-utils/gnc-file.c
src/gnome-utils/gnc-frequency.c
src/gnome-utils/gnc-general-select.c
src/gnome-utils/gnc-gnome-utils.c
src/gnome-utils/gnc-gobject-utils.c
src/gnome-utils/gnc-gtk-utils.c
src/gnome-utils/gnc-gui-query.c
src/gnome-utils/gnc-icons.c
src/gnome-utils/gnc-keyring.c
src/gnome-utils/gnc-main-window.c
src/gnome-utils/gnc-menu-extensions.c
src/gnome-utils/gncmod-gnome-utils.c
src/gnome-utils/gnc-period-select.c
src/gnome-utils/gnc-plugin.c
src/gnome-utils/gnc-plugin-file-history.c
src/gnome-utils/gnc-plugin-manager.c
src/gnome-utils/gnc-plugin-menu-additions.c
src/gnome-utils/gnc-plugin-page.c
src/gnome-utils/gnc-query-list.c
src/gnome-utils/gnc-recurrence.c
src/gnome-utils/gnc-splash.c
src/gnome-utils/gnc-sx-instance-dense-cal-adapter.c
src/gnome-utils/gnc-sx-list-tree-model-adapter.c
src/gnome-utils/gnc-tree-model-account.c
src/gnome-utils/gnc-tree-model-account-types.c
src/gnome-utils/gnc-tree-model-budget.c
src/gnome-utils/gnc-tree-model.c
src/gnome-utils/gnc-tree-model-commodity.c
src/gnome-utils/gnc-tree-model-price.c
src/gnome-utils/gnc-tree-view-account.c
src/gnome-utils/gnc-tree-view.c
src/gnome-utils/gnc-tree-view-commodity.c
src/gnome-utils/gnc-tree-view-price.c
src/gnome-utils/gnc-tree-view-sx-list.c
src/gnome-utils/gnc-window.c
src/gnome-utils/misc-gnome-utils.c
src/gnome-utils/print-session.c
src/gnome-utils/QuickFill.c
src/gnome-utils/schemas/apps_gnucash_history.schemas.in
src/gnome-utils/search-param.c
src/gnome-utils/window-main-summarybar.c
src/gnome/window-autoclear.c src/gnome/window-autoclear.c
src/gnome/window-reconcile.c src/gnome/window-reconcile.c
src/html/gnc-html.c
src/html/gnc-html-factory.c src/html/gnc-html-factory.c
src/html/gnc-html-graph-gog.c
src/html/gnc-html-graph-gog-gtkhtml.c src/html/gnc-html-graph-gog-gtkhtml.c
src/html/gnc-html-graph-gog-webkit.c src/html/gnc-html-graph-gog-webkit.c
src/html/gnc-html-graph-gog.c
src/html/gnc-html-gtkhtml.c src/html/gnc-html-gtkhtml.c
src/html/gnc-html-history.c src/html/gnc-html-history.c
src/html/gnc-html-webkit.c src/html/gnc-html-webkit.c
src/html/gnc-html.c
src/html/gncmod-html.c src/html/gncmod-html.c
src/import-export/aqbanking/aqbanking.glade src/import-export/aqbanking/aqbanking.glade
src/import-export/aqbanking/dialog-ab-trans.c src/import-export/aqbanking/dialog-ab-trans.c
@ -364,20 +364,20 @@ src/import-export/aqbanking/druid-ab-initial.c
src/import-export/aqbanking/gnc-ab-getbalance.c src/import-export/aqbanking/gnc-ab-getbalance.c
src/import-export/aqbanking/gnc-ab-gettrans.c src/import-export/aqbanking/gnc-ab-gettrans.c
src/import-export/aqbanking/gnc-ab-kvp.c src/import-export/aqbanking/gnc-ab-kvp.c
src/import-export/aqbanking/gnc-ab-transfer.c
src/import-export/aqbanking/gnc-ab-trans-templ.c src/import-export/aqbanking/gnc-ab-trans-templ.c
src/import-export/aqbanking/gnc-ab-transfer.c
src/import-export/aqbanking/gnc-ab-utils.c src/import-export/aqbanking/gnc-ab-utils.c
src/import-export/aqbanking/gnc-file-aqb-import.c src/import-export/aqbanking/gnc-file-aqb-import.c
src/import-export/aqbanking/gnc-gwen-gui.c src/import-export/aqbanking/gnc-gwen-gui.c
src/import-export/aqbanking/gncmod-aqbanking.c
src/import-export/aqbanking/gnc-plugin-aqbanking.c src/import-export/aqbanking/gnc-plugin-aqbanking.c
src/import-export/aqbanking/gncmod-aqbanking.c
src/import-export/aqbanking/schemas/apps_gnucash_dialog_hbci.schemas.in src/import-export/aqbanking/schemas/apps_gnucash_dialog_hbci.schemas.in
src/import-export/csv/gnc-csv-gnumeric-popup.c src/import-export/csv/gnc-csv-gnumeric-popup.c
src/import-export/csv/gnc-csv-import.c src/import-export/csv/gnc-csv-import.c
src/import-export/csv/gnc-csv-model.c src/import-export/csv/gnc-csv-model.c
src/import-export/csv/gnc-csv-preview-dialog.glade src/import-export/csv/gnc-csv-preview-dialog.glade
src/import-export/csv/gncmod-csv-import.c
src/import-export/csv/gnc-plugin-csv.c src/import-export/csv/gnc-plugin-csv.c
src/import-export/csv/gncmod-csv-import.c
src/import-export/generic-import.glade src/import-export/generic-import.glade
src/import-export/gnc-import-desc-format.c src/import-export/gnc-import-desc-format.c
src/import-export/gnc-import-format-cb.c src/import-export/gnc-import-format-cb.c
@ -396,11 +396,11 @@ src/import-export/hbci/gnc-hbci-actions.c
src/import-export/hbci/gnc-hbci-getbalance.c src/import-export/hbci/gnc-hbci-getbalance.c
src/import-export/hbci/gnc-hbci-gettrans.c src/import-export/hbci/gnc-hbci-gettrans.c
src/import-export/hbci/gnc-hbci-kvp.c src/import-export/hbci/gnc-hbci-kvp.c
src/import-export/hbci/gnc-hbci-transfer.c
src/import-export/hbci/gnc-hbci-trans-templ.c src/import-export/hbci/gnc-hbci-trans-templ.c
src/import-export/hbci/gnc-hbci-transfer.c
src/import-export/hbci/gnc-hbci-utils.c src/import-export/hbci/gnc-hbci-utils.c
src/import-export/hbci/gncmod-hbci.c
src/import-export/hbci/gnc-plugin-hbci.c src/import-export/hbci/gnc-plugin-hbci.c
src/import-export/hbci/gncmod-hbci.c
src/import-export/hbci/hbci-interaction.c src/import-export/hbci/hbci-interaction.c
src/import-export/hbci/schemas/apps_gnucash_dialog_hbci.schemas.in src/import-export/hbci/schemas/apps_gnucash_dialog_hbci.schemas.in
src/import-export/import-account-matcher.c src/import-export/import-account-matcher.c
@ -415,15 +415,15 @@ src/import-export/import-provider-format.glade
src/import-export/import-settings.c src/import-export/import-settings.c
src/import-export/import-utilities.c src/import-export/import-utilities.c
src/import-export/log-replay/gnc-log-replay.c src/import-export/log-replay/gnc-log-replay.c
src/import-export/log-replay/gncmod-log-replay.c
src/import-export/log-replay/gnc-plugin-log-replay.c src/import-export/log-replay/gnc-plugin-log-replay.c
src/import-export/ofx/gncmod-ofx-import.c src/import-export/log-replay/gncmod-log-replay.c
src/import-export/ofx/gnc-ofx-import.c src/import-export/ofx/gnc-ofx-import.c
src/import-export/ofx/gnc-plugin-ofx.c src/import-export/ofx/gnc-plugin-ofx.c
src/import-export/ofx/gncmod-ofx-import.c
src/import-export/qif-import/dialog-account-picker.c src/import-export/qif-import/dialog-account-picker.c
src/import-export/qif-import/druid-qif-import.c src/import-export/qif-import/druid-qif-import.c
src/import-export/qif-import/gncmod-qif-import.c
src/import-export/qif-import/gnc-plugin-qif-import.c src/import-export/qif-import/gnc-plugin-qif-import.c
src/import-export/qif-import/gncmod-qif-import.c
src/import-export/qif-import/qif.glade src/import-export/qif-import/qif.glade
src/import-export/qif-import/schemas/apps_gnucash_import_qif.schemas.in src/import-export/qif-import/schemas/apps_gnucash_import_qif.schemas.in
src/import-export/qif-io-core/gncmod-qifiocore.c src/import-export/qif-io-core/gncmod-qifiocore.c
@ -434,9 +434,10 @@ src/import-export/schemas/apps_gnucash_import_generic_matcher.schemas.in
src/libqof/qof/gnc-date.c src/libqof/qof/gnc-date.c
src/libqof/qof/gnc-numeric.c src/libqof/qof/gnc-numeric.c
src/libqof/qof/guid.c src/libqof/qof/guid.c
src/libqof/qof/kvp_frame.c
src/libqof/qof/kvp-util.c src/libqof/qof/kvp-util.c
src/libqof/qof/kvp_frame.c
src/libqof/qof/md5.c src/libqof/qof/md5.c
src/libqof/qof/qof-win32.c
src/libqof/qof/qofbackend.c src/libqof/qof/qofbackend.c
src/libqof/qof/qofbook.c src/libqof/qof/qofbook.c
src/libqof/qof/qofbookmerge.c src/libqof/qof/qofbookmerge.c
@ -453,20 +454,19 @@ src/libqof/qof/qofquerycore.c
src/libqof/qof/qofreference.c src/libqof/qof/qofreference.c
src/libqof/qof/qofsession.c src/libqof/qof/qofsession.c
src/libqof/qof/qofutil.c src/libqof/qof/qofutil.c
src/libqof/qof/qof-win32.c
src/register/ledger-core/dialog-dup-trans.c src/register/ledger-core/dialog-dup-trans.c
src/register/ledger-core/gnc-ledger-display.c src/register/ledger-core/gnc-ledger-display.c
src/register/ledger-core/gncmod-ledger-core.c src/register/ledger-core/gncmod-ledger-core.c
src/register/ledger-core/split-register.c
src/register/ledger-core/split-register-control.c src/register/ledger-core/split-register-control.c
src/register/ledger-core/split-register-layout.c src/register/ledger-core/split-register-layout.c
src/register/ledger-core/split-register-load.c src/register/ledger-core/split-register-load.c
src/register/ledger-core/split-register-model.c
src/register/ledger-core/split-register-model-save.c src/register/ledger-core/split-register-model-save.c
src/register/ledger-core/split-register-model.c
src/register/ledger-core/split-register-util.c src/register/ledger-core/split-register-util.c
src/register/ledger-core/split-register.c
src/register/register-core/basiccell.c src/register/register-core/basiccell.c
src/register/register-core/cellblock.c
src/register/register-core/cell-factory.c src/register/register-core/cell-factory.c
src/register/register-core/cellblock.c
src/register/register-core/checkboxcell.c src/register/register-core/checkboxcell.c
src/register/register-core/formulacell.c src/register/register-core/formulacell.c
src/register/register-core/gncmod-register-core.c src/register/register-core/gncmod-register-core.c
@ -502,15 +502,15 @@ src/report/report-gnome/custom-report-dialog.glade
src/report/report-gnome/dialog-column-view.c src/report/report-gnome/dialog-column-view.c
src/report/report-gnome/dialog-custom-report.c src/report/report-gnome/dialog-custom-report.c
src/report/report-gnome/dialog-style-sheet.c src/report/report-gnome/dialog-style-sheet.c
src/report/report-gnome/gncmod-report-gnome.c
src/report/report-gnome/gnc-plugin-page-report.c src/report/report-gnome/gnc-plugin-page-report.c
src/report/report-gnome/gncmod-report-gnome.c
src/report/report-gnome/report.glade src/report/report-gnome/report.glade
src/report/report-gnome/window-report.c src/report/report-gnome/window-report.c
src/report/report-system/gncmod-report-system.c
src/report/report-system/gnc-report.c src/report/report-system/gnc-report.c
src/report/report-system/gncmod-report-system.c
src/report/standard-reports/gncmod-standard-reports.c src/report/standard-reports/gncmod-standard-reports.c
src/report/stylesheets/gncmod-stylesheets.c
src/report/stylesheets/gnc-plugin-stylesheets.c src/report/stylesheets/gnc-plugin-stylesheets.c
src/report/stylesheets/gncmod-stylesheets.c
src/report/utility-reports/gncmod-utility-reports.c src/report/utility-reports/gncmod-utility-reports.c
src/tax/us/gncmod-tax-us.c src/tax/us/gncmod-tax-us.c
src/gnome/gnucash.desktop.in.in src/gnome/gnucash.desktop.in.in

View File

@ -1522,7 +1522,10 @@ row_dispose( /*@ only @*/ GncSqlRow* row )
{ {
for ( node = dbi_row->gvalue_list; node != NULL; node = node->next ) for ( node = dbi_row->gvalue_list; node != NULL; node = node->next )
{ {
GValue* value = (GValue*)node->data; GValue* value;
if ( !G_IS_VALUE(node->data) )
continue;
value = (GValue*)node->data;
if ( G_VALUE_HOLDS_STRING(value) ) if ( G_VALUE_HOLDS_STRING(value) )
{ {
g_free( (gpointer)g_value_get_string( value ) ); g_free( (gpointer)g_value_get_string( value ) );

View File

@ -171,12 +171,13 @@ get_key_from_path( GString *path )
/* Remove trailing /es */ /* Remove trailing /es */
if ( key == NULL ) return str; if ( key == NULL ) return str;
while ( str - key == 0 ) while ( str + strlen(str) - key == 1 )
{ {
*key = '\0'; *key = '\0';
key = strrchr( str, '/' ); key = strrchr( str, '/' );
} }
if ( key == NULL ) return str; if ( key == NULL ) return str;
/* Now advance key past the last intermediate / to get the post-delimiter string */
while ( *key == '/') ++key; while ( *key == '/') ++key;
ret = strdup( key ); ret = strdup( key );

View File

@ -36,6 +36,7 @@
#include "gnc-version.h" #include "gnc-version.h"
#include "gnc-engine.h" #include "gnc-engine.h"
#include "gnc-filepath-utils.h" #include "gnc-filepath-utils.h"
#include "gnc-ui-util.h"
#include "gnc-file.h" #include "gnc-file.h"
#include "gnc-hooks.h" #include "gnc-hooks.h"
#include "top-level.h" #include "top-level.h"
@ -286,7 +287,7 @@ set_mac_locale()
NSString *this_locale; NSString *this_locale;
NSString *currency = [locale objectForKey: NSLocaleCurrencyCode]; NSString *currency = [locale objectForKey: NSLocaleCurrencyCode];
NSString *money_locale = nil; NSString *money_locale = nil;
while (this_locale = (NSString*)[locale_iter nextObject]) while ((this_locale = (NSString*)[locale_iter nextObject]))
if ([[[[NSLocale alloc] initWithLocaleIdentifier: this_locale] if ([[[[NSLocale alloc] initWithLocaleIdentifier: this_locale]
objectForKey: NSLocaleCurrencyCode] objectForKey: NSLocaleCurrencyCode]
isEqualToString: currency]) { isEqualToString: currency]) {
@ -321,17 +322,18 @@ set_mac_locale()
NSString *this_lang; NSString *this_lang;
NSArray *elements; NSArray *elements;
NSArray *new_languages = [NSArray array]; NSArray *new_languages = [NSArray array];
while (this_lang = [lang_iter nextObject]) { while ((this_lang = [lang_iter nextObject])) {
this_lang = [this_lang stringByTrimmingCharactersInSet: this_lang = [this_lang stringByTrimmingCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString: [NSCharacterSet characterSetWithCharactersInString:
@"\""]]; @"\""]];
elements = [this_lang componentsSeparatedByString: @"-"]; elements = [this_lang componentsSeparatedByString: @"-"];
if ([elements count] > 1) { if ([elements count] > 1) {
if ([[elements objectAtIndex: 0] isEqualToString: @"zh"]) if ([[elements objectAtIndex: 0] isEqualToString: @"zh"]) {
if ([[elements objectAtIndex: 1] isEqualToString: @"Hans"]) if ([[elements objectAtIndex: 1] isEqualToString: @"Hans"])
this_lang = [NSString stringWithString: @"zh_CN"]; this_lang = [NSString stringWithString: @"zh_CN"];
else else
this_lang = [NSString stringWithString: @"zh_TW"]; this_lang = [NSString stringWithString: @"zh_TW"];
}
} }
else else
this_lang = [elements componentsJoinedByString: @"_"]; this_lang = [elements componentsJoinedByString: @"_"];

View File

@ -330,7 +330,7 @@ gnc_gnome_help (const char *dir, const char *detail)
NSEnumerator *lang_iter = [languages objectEnumerator]; NSEnumerator *lang_iter = [languages objectEnumerator];
NSString *path; NSString *path;
NSString *this_lang; NSString *this_lang;
while(this_lang = [lang_iter nextObject]) { while((this_lang = [lang_iter nextObject])) {
NSArray *elements; NSArray *elements;
unsigned int paths; unsigned int paths;
NSString *completed_path = [NSString alloc]; NSString *completed_path = [NSString alloc];