gnucash stable: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sun Feb 25 17:05:37 EST 2024


Updated	 via  https://github.com/Gnucash/gnucash/commit/229d9300 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c345fc9d (commit)
	from  https://github.com/Gnucash/gnucash/commit/68b3f976 (commit)



commit 229d9300cfe10a1e16b9a42c3093a8c3d6d71dba
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Feb 24 17:58:52 2024 +0800

    [engine-helpers.h] key is a const char*
    
    thus allowing compilation in cpp with stricter type checking

diff --git a/libgnucash/engine/engine-helpers.c b/libgnucash/engine/engine-helpers.c
index 8a1395e032..2b377ac7e3 100644
--- a/libgnucash/engine/engine-helpers.c
+++ b/libgnucash/engine/engine-helpers.c
@@ -189,7 +189,7 @@ gnc_book_option_num_field_source_change (gboolean num_action)
 }
 
 void
-gnc_book_option_register_cb (gchar *key, GncBOCb func, gpointer user_data)
+gnc_book_option_register_cb (const gchar *key, GncBOCb func, gpointer user_data)
 {
     GHookList *hook_list;
     GHook *hook;
@@ -216,7 +216,7 @@ gnc_book_option_register_cb (gchar *key, GncBOCb func, gpointer user_data)
 }
 
 void
-gnc_book_option_remove_cb (gchar *key, GncBOCb func, gpointer user_data)
+gnc_book_option_remove_cb (const gchar *key, GncBOCb func, gpointer user_data)
 {
     GHookList *hook_list;
     GHook *hook;
diff --git a/libgnucash/engine/engine-helpers.h b/libgnucash/engine/engine-helpers.h
index 57900484ef..c8d6f3f203 100644
--- a/libgnucash/engine/engine-helpers.h
+++ b/libgnucash/engine/engine-helpers.h
@@ -77,11 +77,11 @@ gnc_book_option_num_field_source_change (gboolean num_action);
 /** Registers callbacks to be called when the book option changes for the
   * specified book option key */
 void
-gnc_book_option_register_cb (gchar *key, GncBOCb func, gpointer user_data);
+gnc_book_option_register_cb (const gchar *key, GncBOCb func, gpointer user_data);
 
 /** Removes previously registered callbacks for the specified book option key */
 void
-gnc_book_option_remove_cb (gchar *key, GncBOCb func, gpointer user_data);
+gnc_book_option_remove_cb (const gchar *key, GncBOCb func, gpointer user_data);
 
 #ifdef __cplusplus
 }

commit c345fc9d3c007312ccf63be8899058b720e04d6a
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sat Feb 24 17:58:15 2024 +0800

    add #ifdef __cplusplus extern "C" {} wrappers to .h files

diff --git a/gnucash/gnome-utils/dialog-dup-trans.h b/gnucash/gnome-utils/dialog-dup-trans.h
index 055abe0bd7..82cb1d55eb 100644
--- a/gnucash/gnome-utils/dialog-dup-trans.h
+++ b/gnucash/gnome-utils/dialog-dup-trans.h
@@ -30,6 +30,11 @@
 #include <gtk/gtk.h>
 #include <gnc-date.h>
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 
 /***********************************************************************\
  * gnc_dup_trans_dialog                                                 *
@@ -89,4 +94,8 @@ gboolean
 gnc_dup_time64_dialog (GtkWidget * parent, const char *window_title,
                        const char* title, time64 *date);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif // DIALOGDUPTRANS_H
diff --git a/gnucash/gnome-utils/dialog-object-references.h b/gnucash/gnome-utils/dialog-object-references.h
index 157c5afcd7..4b62e67ca4 100644
--- a/gnucash/gnome-utils/dialog-object-references.h
+++ b/gnucash/gnome-utils/dialog-object-references.h
@@ -26,6 +26,10 @@
 #ifndef DIALOG_OBJECT_REFERENCES_H
 #define DIALOG_OBJECT_REFERENCES_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** @addtogroup GUI
     @{ */
 /** @file dialog-object-references.h
@@ -40,4 +44,8 @@ void gnc_ui_object_references_show( const gchar* explanation, GList* objlist );
 
 /** @} */
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* DIALOG_OBJECT_REFERENCES_H */
diff --git a/gnucash/gnome-utils/gnc-recurrence.h b/gnucash/gnome-utils/gnc-recurrence.h
index 518c0e52b8..8c07e16b83 100644
--- a/gnucash/gnome-utils/gnc-recurrence.h
+++ b/gnucash/gnome-utils/gnc-recurrence.h
@@ -32,6 +32,10 @@
 #include <glib.h>
 #include "Recurrence.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define GNC_TYPE_RECURRENCE	  (gnc_recurrence_get_type())
 G_DECLARE_FINAL_TYPE (GncRecurrence, gnc_recurrence, GNC, RECURRENCE, GtkBox)
 
@@ -43,4 +47,8 @@ void gnc_recurrence_set(GncRecurrence *gr, const Recurrence *r);
    long as the GncRecurrence is around. */
 const Recurrence * gnc_recurrence_get(GncRecurrence *gr);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.h b/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.h
index 4d976b6ebe..f6fbec66d0 100644
--- a/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.h
+++ b/gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.h
@@ -27,9 +27,17 @@
 #include <glib.h>
 #include "gnc-sx-instance-model.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define GNC_TYPE_SX_INSTANCE_DENSE_CAL_ADAPTER	          (gnc_sx_instance_dense_cal_adapter_get_type ())
 G_DECLARE_FINAL_TYPE (GncSxInstanceDenseCalAdapter, gnc_sx_instance_dense_cal_adapter, GNC, SX_INSTANCE_DENSE_CAL_ADAPTER, GObject)
 
 GncSxInstanceDenseCalAdapter* gnc_sx_instance_dense_cal_adapter_new(GncSxInstanceModel *instances);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif // _GNC_SX_INSTANCE_DENSE_CAL_ADAPTER_H
diff --git a/gnucash/gnome-utils/window-main-summarybar.h b/gnucash/gnome-utils/window-main-summarybar.h
index 04e5544ae6..9eb5250c1a 100644
--- a/gnucash/gnome-utils/window-main-summarybar.h
+++ b/gnucash/gnome-utils/window-main-summarybar.h
@@ -24,6 +24,14 @@
 #ifndef WINDOW_MAIN_SUMMARYBAR_H
 #define WINDOW_MAIN_SUMMARYBAR_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 GtkWidget * gnc_main_window_summary_new(void);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/assistant-stock-split.h b/gnucash/gnome/assistant-stock-split.h
index 59ed62baa3..4e1914006c 100644
--- a/gnucash/gnome/assistant-stock-split.h
+++ b/gnucash/gnome/assistant-stock-split.h
@@ -28,6 +28,11 @@
 
 #include "Account.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 /********************************************************************\
  * gnc_stock_split_dialog                                           *
  *   opens up a window to record a stock split                      *
@@ -37,5 +42,8 @@
  * Return: nothing                                                  *
 \********************************************************************/
 void gnc_stock_split_dialog (GtkWidget *parent, Account * initial);
+#ifdef __cplusplus
+}
+#endif
 
 #endif
diff --git a/gnucash/gnome/dialog-customer.h b/gnucash/gnome/dialog-customer.h
index eaca3fa9c7..2fbb6e7e90 100644
--- a/gnucash/gnome/dialog-customer.h
+++ b/gnucash/gnome/dialog-customer.h
@@ -25,6 +25,10 @@
 #ifndef GNC_DIALOG_CUSTOMER_H_
 #define GNC_DIALOG_CUSTOMER_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _customer_window CustomerWindow;
 
 #include "gncCustomer.h"
@@ -46,4 +50,8 @@ GNCSearchWindow *gnc_customer_search (GtkWindow *parent, GncCustomer *start, Qof
 GNCSearchWindow * gnc_customer_search_select (GtkWindow *parent, gpointer start, gpointer book);
 GNCSearchWindow * gnc_customer_search_edit (GtkWindow *parent, gpointer start, gpointer book);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_DIALOG_CUSTOMER_H_ */
diff --git a/gnucash/gnome/dialog-doclink.h b/gnucash/gnome/dialog-doclink.h
index 15bc90d390..3888efb413 100644
--- a/gnucash/gnome/dialog-doclink.h
+++ b/gnucash/gnome/dialog-doclink.h
@@ -23,6 +23,10 @@
 #ifndef DIALOG_DOCLINK_H
 #define DIALOG_DOCLINK_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** Present the right edit dialog for the uri.
  *
  *  The function allocates memory for the uri. The calling function should
@@ -68,4 +72,8 @@ void gnc_doclink_business_dialog (GtkWindow *parent);
  */
 void gnc_doclink_trans_dialog (GtkWindow *parent);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/dialog-employee.h b/gnucash/gnome/dialog-employee.h
index 05f22e8b3c..929b16ea42 100644
--- a/gnucash/gnome/dialog-employee.h
+++ b/gnucash/gnome/dialog-employee.h
@@ -25,6 +25,10 @@
 #ifndef GNC_DIALOG_EMPLOYEE_H_
 #define GNC_DIALOG_EMPLOYEE_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _employee_window EmployeeWindow;
 
 #include "gncEmployee.h"
@@ -46,4 +50,8 @@ GNCSearchWindow * gnc_employee_search (GtkWindow *parent, GncEmployee *start, Qo
 GNCSearchWindow * gnc_employee_search_select (GtkWindow *parent, gpointer start, gpointer book);
 GNCSearchWindow * gnc_employee_search_edit (GtkWindow *parent, gpointer start, gpointer book);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_DIALOG_EMPLOYEE_H_ */
diff --git a/gnucash/gnome/dialog-find-account.h b/gnucash/gnome/dialog-find-account.h
index 000a0b017d..4c2d29bd89 100644
--- a/gnucash/gnome/dialog-find-account.h
+++ b/gnucash/gnome/dialog-find-account.h
@@ -25,6 +25,15 @@
 
 #include "Account.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 void gnc_find_account_dialog (GtkWidget *parent, Account *account);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/dialog-find-transactions.h b/gnucash/gnome/dialog-find-transactions.h
index d4a150cd05..980e0091b0 100644
--- a/gnucash/gnome/dialog-find-transactions.h
+++ b/gnucash/gnome/dialog-find-transactions.h
@@ -27,7 +27,16 @@
 #include "gnc-ledger-display.h"
 #include "dialog-search.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 GNCSearchWindow *
 gnc_ui_find_transactions_dialog_create (GtkWindow *parent, GNCLedgerDisplay * ledger);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/dialog-invoice.h b/gnucash/gnome/dialog-invoice.h
index 660ae858b1..5566ae30fd 100644
--- a/gnucash/gnome/dialog-invoice.h
+++ b/gnucash/gnome/dialog-invoice.h
@@ -35,6 +35,11 @@ typedef struct _invoice_window InvoiceWindow;
 #include "dialog-search.h"
 #include "dialog-query-view.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 typedef enum
 {
     INVSORT_BY_STANDARD = 0,
@@ -129,4 +134,8 @@ gboolean gnc_invoice_window_document_has_user_state (InvoiceWindow *iw);
 void gnc_invoice_window_entryUpCB (GtkWidget *widget, gpointer data);
 void gnc_invoice_window_entryDownCB (GtkWidget *widget, gpointer data);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_DIALOG_INVOICE_H_ */
diff --git a/gnucash/gnome/dialog-job.h b/gnucash/gnome/dialog-job.h
index 4df562c3cc..27a8f38532 100644
--- a/gnucash/gnome/dialog-job.h
+++ b/gnucash/gnome/dialog-job.h
@@ -25,6 +25,10 @@
 #ifndef GNC_DIALOG_JOB_H_
 #define GNC_DIALOG_JOB_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _job_window JobWindow;
 
 #include "gncJob.h"
@@ -48,4 +52,8 @@ GNCSearchWindow * gnc_job_search (GtkWindow *parent, GncJob *start,
 GNCSearchWindow * gnc_job_search_select (GtkWindow *parent, gpointer start, gpointer book);
 GNCSearchWindow * gnc_job_search_edit (GtkWindow *parent, gpointer start, gpointer book);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_DIALOG_JOB_H_ */
diff --git a/gnucash/gnome/dialog-lot-viewer.h b/gnucash/gnome/dialog-lot-viewer.h
index 77bc0d3b96..660b1e7856 100644
--- a/gnucash/gnome/dialog-lot-viewer.h
+++ b/gnucash/gnome/dialog-lot-viewer.h
@@ -27,9 +27,18 @@
 
 #include "Account.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 typedef struct _GNCLotViewer GNCLotViewer;
 
 /** Create and realize and show a lot-viewing dialog. */
 GNCLotViewer * gnc_lot_viewer_dialog (GtkWindow *parent, Account *account);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* LOT_VIEWER_H */
diff --git a/gnucash/gnome/dialog-payment.h b/gnucash/gnome/dialog-payment.h
index 9927f6325b..7c059ec9db 100644
--- a/gnucash/gnome/dialog-payment.h
+++ b/gnucash/gnome/dialog-payment.h
@@ -24,6 +24,10 @@
 #ifndef _DIALOG_PAYMENT_H
 #define _DIALOG_PAYMENT_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _payment_window PaymentWindow;
 
 #include "gncOwner.h"
@@ -51,4 +55,8 @@ void gnc_ui_payment_window_set_amount (PaymentWindow *pw, gnc_numeric amount);
 void gnc_ui_payment_window_set_postaccount (PaymentWindow *pw, const Account* account);
 void gnc_ui_payment_window_set_xferaccount (PaymentWindow *pw, const Account* account);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _DIALOG_PAYMENT_H */
diff --git a/gnucash/gnome/dialog-print-check.h b/gnucash/gnome/dialog-print-check.h
index 818b7df9e5..8373f45cb0 100644
--- a/gnucash/gnome/dialog-print-check.h
+++ b/gnucash/gnome/dialog-print-check.h
@@ -26,10 +26,19 @@
 
 #include "print-session.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 typedef struct _print_check_dialog PrintCheckDialog;
 
 void gnc_ui_print_check_dialog_create(GtkWidget *parent,
                                       GList *splits,
                                       Account* account);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/dialog-sx-editor.h b/gnucash/gnome/dialog-sx-editor.h
index c7d6e1e497..23036bd57d 100644
--- a/gnucash/gnome/dialog-sx-editor.h
+++ b/gnucash/gnome/dialog-sx-editor.h
@@ -26,6 +26,10 @@
 #include "SchedXaction.h"
 #include <gtk/gtk.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define DIALOG_SCHEDXACTION_CM_CLASS "dialog-scheduledtransactions"
 #define DIALOG_SCHEDXACTION_EDITOR_CM_CLASS "dialog-scheduledtransaction-editor"
 
@@ -48,4 +52,8 @@ void gnc_ui_scheduled_xaction_editor_dialog_destroy(GncSxEditorDialog *sxd);
  **/
 void gnc_ui_sx_initialize (void);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/gnome/dialog-vendor.h b/gnucash/gnome/dialog-vendor.h
index 0835132a3f..b9e7bb7dfc 100644
--- a/gnucash/gnome/dialog-vendor.h
+++ b/gnucash/gnome/dialog-vendor.h
@@ -25,6 +25,10 @@
 #ifndef GNC_DIALOG_VENDOR_H_
 #define GNC_DIALOG_VENDOR_H_
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef struct _vendor_window VendorWindow;
 
 #include "gncVendor.h"
@@ -46,4 +50,8 @@ GNCSearchWindow * gnc_vendor_search (GtkWindow *parent, GncVendor *start, QofBoo
 GNCSearchWindow * gnc_vendor_search_select (GtkWindow *parent, gpointer start, gpointer book);
 GNCSearchWindow * gnc_vendor_search_edit (GtkWindow *parent, gpointer start, gpointer book);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_DIALOG_VENDOR_H_ */
diff --git a/gnucash/gnome/gnc-plugin-business.h b/gnucash/gnome/gnc-plugin-business.h
index 76f95729e8..773868a9f4 100644
--- a/gnucash/gnome/gnc-plugin-business.h
+++ b/gnucash/gnome/gnc-plugin-business.h
@@ -29,6 +29,11 @@
 
 #include "gnc-plugin.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 G_BEGIN_DECLS
 
 /* type macros */
@@ -52,4 +57,8 @@ void gnc_invoice_remind_invoices_due_cb (void);
 void gnc_plugin_business_split_reg_ui_update (GncPluginPage *plugin_page);
 
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __GNC_PLUGIN_BUSINESS_H */
diff --git a/gnucash/gnome/gnc-plugin-page-register.h b/gnucash/gnome/gnc-plugin-page-register.h
index 1d11ca7536..4acf67023f 100644
--- a/gnucash/gnome/gnc-plugin-page-register.h
+++ b/gnucash/gnome/gnc-plugin-page-register.h
@@ -43,6 +43,11 @@
 #include "gnc-split-reg.h"
 #include "Query.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 G_BEGIN_DECLS
 
 /* type macros */
@@ -177,5 +182,10 @@ G_END_DECLS
 /** @} */
 /** @} */
 
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __GNC_PLUGIN_PAGE_REGISTER_H */
 
diff --git a/gnucash/gnome/gnc-split-reg.h b/gnucash/gnome/gnc-split-reg.h
index 9950a528f6..2e4476acf1 100644
--- a/gnucash/gnome/gnc-split-reg.h
+++ b/gnucash/gnome/gnc-split-reg.h
@@ -32,6 +32,11 @@
 #include "gnc-ledger-display.h"
 #include "gnucash-register.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 #define GNC_SPLIT_REG(obj)         G_TYPE_CHECK_INSTANCE_CAST( obj, gnc_split_reg_get_type(), GNCSplitReg )
 #define GNC_SPLIT_REG_CLASS(klass) G_TYPE_CHECK_CLASS_CAST( klass, gnc_split_reg_get_type(), GNCSplitRegClass )
 #define IS_GNC_SPLIT_REG(obj)      G_TYPE_CHECK_INSTANCE_TYPE( obj, gnc_split_reg_get_type() )
@@ -308,4 +313,8 @@ gchar *gsr_get_register_state_section (GNCSplitReg *gsr);
 
 void gnc_split_reg_set_moved_cb( GNCSplitReg *gsr, GFunc cb, gpointer cb_data );
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* GNC_SPLIT_REG_H */
diff --git a/gnucash/gnome/window-autoclear.h b/gnucash/gnome/window-autoclear.h
index 3e093c1146..347d76d372 100644
--- a/gnucash/gnome/window-autoclear.h
+++ b/gnucash/gnome/window-autoclear.h
@@ -23,9 +23,18 @@
 #ifndef WINDOW_AUTOCLEAR_H
 #define WINDOW_AUTOCLEAR_H
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 typedef struct _AutoClearWindow AutoClearWindow;
 
 AutoClearWindow *autoClearWindow (GtkWidget *parent, Account *account);
 void gnc_ui_autoclear_window_raise(AutoClearWindow * autoClearData);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/register/ledger-core/gnc-ledger-display.h b/gnucash/register/ledger-core/gnc-ledger-display.h
index 6f5faefdfe..4fb5a118b7 100644
--- a/gnucash/register/ledger-core/gnc-ledger-display.h
+++ b/gnucash/register/ledger-core/gnc-ledger-display.h
@@ -25,6 +25,11 @@
 #ifndef GNC_LEDGER_DISPLAY_H
 #define GNC_LEDGER_DISPLAY_H
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 #include <glib.h>
 
 #include "Account.h"
@@ -131,4 +136,8 @@ void gnc_ledger_display_close (GNCLedgerDisplay* ledger_display);
  * mode by default */
 gboolean gnc_ledger_display_default_double_line (GNCLedgerDisplay* gld);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/gnucash/register/register-gnome/gnucash-sheet.h b/gnucash/register/register-gnome/gnucash-sheet.h
index 2308ba1f4a..71ff7ade42 100644
--- a/gnucash/register/register-gnome/gnucash-sheet.h
+++ b/gnucash/register/register-gnome/gnucash-sheet.h
@@ -25,6 +25,10 @@
 #include "split-register-model.h"
 #include "table-allgui.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** @ingroup Register
  * @addtogroup Gnome
  * @{
@@ -112,5 +116,9 @@ gboolean gnucash_sheet_is_read_only (GnucashSheet *sheet);
 
 void gnucash_sheet_set_has_focus (GnucashSheet *sheet, gboolean has_focus);
 
+#ifdef __cplusplus
+}
+#endif
+
 /** @} */
 #endif
diff --git a/libgnucash/engine/ScrubBusiness.h b/libgnucash/engine/ScrubBusiness.h
index a6ab5d1236..e9b8942a4a 100644
--- a/libgnucash/engine/ScrubBusiness.h
+++ b/libgnucash/engine/ScrubBusiness.h
@@ -34,6 +34,11 @@
 
 #include "gnc-engine.h"
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
 /** @name Cleanup functions for business objects
  * Provides the high-level API for checking and repairing ('scrubbing
  * clean') the various data objects used by the business functions.
@@ -104,6 +109,10 @@ void gncScrubBusinessAccount (Account *acc, QofPercentageFunc percentagefunc);
  */
 void gncScrubBusinessAccountTree (Account *acc, QofPercentageFunc percentagefunc);
 
+#ifdef __cplusplus
+}
+#endif
+
 /** @} */
 #endif /* GNC_SCRUBBUSINESS_H */
 /** @} */



Summary of changes:
 gnucash/gnome-utils/dialog-dup-trans.h                  |  9 +++++++++
 gnucash/gnome-utils/dialog-object-references.h          |  8 ++++++++
 gnucash/gnome-utils/gnc-recurrence.h                    |  8 ++++++++
 gnucash/gnome-utils/gnc-sx-instance-dense-cal-adapter.h |  8 ++++++++
 gnucash/gnome-utils/window-main-summarybar.h            |  8 ++++++++
 gnucash/gnome/assistant-stock-split.h                   |  8 ++++++++
 gnucash/gnome/dialog-customer.h                         |  8 ++++++++
 gnucash/gnome/dialog-doclink.h                          |  8 ++++++++
 gnucash/gnome/dialog-employee.h                         |  8 ++++++++
 gnucash/gnome/dialog-find-account.h                     |  9 +++++++++
 gnucash/gnome/dialog-find-transactions.h                |  9 +++++++++
 gnucash/gnome/dialog-invoice.h                          |  9 +++++++++
 gnucash/gnome/dialog-job.h                              |  8 ++++++++
 gnucash/gnome/dialog-lot-viewer.h                       |  9 +++++++++
 gnucash/gnome/dialog-payment.h                          |  8 ++++++++
 gnucash/gnome/dialog-print-check.h                      |  9 +++++++++
 gnucash/gnome/dialog-sx-editor.h                        |  8 ++++++++
 gnucash/gnome/dialog-vendor.h                           |  8 ++++++++
 gnucash/gnome/gnc-plugin-business.h                     |  9 +++++++++
 gnucash/gnome/gnc-plugin-page-register.h                | 10 ++++++++++
 gnucash/gnome/gnc-split-reg.h                           |  9 +++++++++
 gnucash/gnome/window-autoclear.h                        |  9 +++++++++
 gnucash/register/ledger-core/gnc-ledger-display.h       |  9 +++++++++
 gnucash/register/register-gnome/gnucash-sheet.h         |  8 ++++++++
 libgnucash/engine/ScrubBusiness.h                       |  9 +++++++++
 libgnucash/engine/engine-helpers.c                      |  4 ++--
 libgnucash/engine/engine-helpers.h                      |  4 ++--
 27 files changed, 217 insertions(+), 4 deletions(-)



More information about the gnucash-changes mailing list