r14757 - gnucash/branches/2.0 - Double-check really every string from aqbanking for valid utf-8 characters.
Derek Atkins
warlord at cvs.gnucash.org
Mon Aug 28 23:27:32 EDT 2006
Author: warlord
Date: 2006-08-28 23:27:31 -0400 (Mon, 28 Aug 2006)
New Revision: 14757
Trac: http://svn.gnucash.org/trac/changeset/14757
Modified:
gnucash/branches/2.0/
gnucash/branches/2.0/ChangeLog
gnucash/branches/2.0/src/import-export/hbci/dialog-hbcitrans.c
gnucash/branches/2.0/src/import-export/hbci/druid-hbci-initial.c
Log:
Double-check really every string from aqbanking for valid utf-8 characters.
Merge from r14680.
Property changes on: gnucash/branches/2.0
___________________________________________________________________
Name: svk:merge
- d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/2.0:13184
+ d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/2.0:13185
Modified: gnucash/branches/2.0/ChangeLog
===================================================================
--- gnucash/branches/2.0/ChangeLog 2006-08-29 03:27:20 UTC (rev 14756)
+++ gnucash/branches/2.0/ChangeLog 2006-08-29 03:27:31 UTC (rev 14757)
@@ -7,6 +7,10 @@
2006-08-15 Christian Stimming <stimming at tuhh.de>
+ * src/import-export/hbci/dialog-hbcitrans.c, druid-hbci-initial.c:
+ Double-check really every string from aqbanking for valid utf-8
+ characters.
+
* src/core-utils/gnc-glib-utils.[hc]: Add
gnc_utf8_strip_invalid_strdup() that returns a stripped copy
instead of working in-place.
Modified: gnucash/branches/2.0/src/import-export/hbci/dialog-hbcitrans.c
===================================================================
--- gnucash/branches/2.0/src/import-export/hbci/dialog-hbcitrans.c 2006-08-29 03:27:20 UTC (rev 14756)
+++ gnucash/branches/2.0/src/import-export/hbci/dialog-hbcitrans.c 2006-08-29 03:27:31 UTC (rev 14757)
@@ -45,6 +45,7 @@
#include "gtk-compat.h"
#include "dialog-utils.h"
+#include "gnc-glib-utils.h"
#include "gnc-ui.h"
#include "gnc-amount-edit.h"
#include "dialog-transfer.h"
@@ -246,7 +247,7 @@
GList *templates)
{
GladeXML *xml;
- const char *hbci_bankid, *hbci_bankname;
+ const char *hbci_bankid;
HBCITransDialog *td;
GtkTreeSelection *selection;
GtkTreeViewColumn *column;
@@ -258,7 +259,6 @@
td->trans_type = trans_type;
g_assert (h_acc);
hbci_bankid = AB_Account_GetBankCode(h_acc);
- hbci_bankname = AB_Account_GetBankName(h_acc);
#if HAVE_KTOBLZCHECK_H
td->blzcheck = AccountNumberCheck_new();
#endif
@@ -272,6 +272,7 @@
GTK_WINDOW (parent));
{
+ gchar *hbci_bankname, *hbci_ownername;
GtkWidget *heading_label;
GtkWidget *recp_name_heading;
GtkWidget *recp_account_heading;
@@ -394,9 +395,16 @@
/* Make this button insensitive since it's still unimplemented. */
gtk_widget_destroy (exec_later_button);
+ /* aqbanking up to 2.3.0 did not guarantee the following strings
+ to be correct utf8; mentioned in bug#351371. */
+ hbci_bankname =
+ gnc_utf8_strip_invalid_strdup (AB_Account_GetBankName(h_acc));
+ hbci_ownername =
+ gnc_utf8_strip_invalid_strdup (AB_Account_GetOwnerName(h_acc));
+
/* Fill in the values from the objects */
gtk_label_set_text (GTK_LABEL (orig_name_label),
- AB_Account_GetOwnerName (h_acc));
+ hbci_ownername);
gtk_label_set_text (GTK_LABEL (orig_account_label),
AB_Account_GetAccountNumber (h_acc));
gtk_label_set_text (GTK_LABEL (orig_bankname_label),
@@ -405,6 +413,8 @@
_("(unknown)")));
gtk_label_set_text (GTK_LABEL (orig_bankcode_label),
hbci_bankid);
+ g_free (hbci_ownername);
+ g_free (hbci_bankname);
/* fill list for choosing a transaction template */
gtk_tree_view_set_headers_visible(td->template_gtktreeview, FALSE);
Modified: gnucash/branches/2.0/src/import-export/hbci/druid-hbci-initial.c
===================================================================
--- gnucash/branches/2.0/src/import-export/hbci/druid-hbci-initial.c 2006-08-29 03:27:20 UTC (rev 14756)
+++ gnucash/branches/2.0/src/import-export/hbci/druid-hbci-initial.c 2006-08-29 03:27:31 UTC (rev 14757)
@@ -36,6 +36,7 @@
#include "import-account-matcher.h"
#include "gnc-hbci-utils.h"
+#include "gnc-glib-utils.h"
#include "dialog-utils.h"
#include "druid-utils.h"
#include "gnc-ui-util.h"
@@ -125,21 +126,25 @@
static gchar *gnc_hbci_account_longname(const AB_ACCOUNT *hacc)
{
- const char *bankname;
+ gchar *bankname;
+ gchar *result;
const char *bankcode;
g_assert(hacc);
- bankname = AB_Account_GetBankName (hacc);
+ bankname =
+ gnc_utf8_strip_invalid_strdup (AB_Account_GetBankName (hacc));
bankcode = AB_Account_GetBankCode (hacc);
/* Translators: Strings are 1. Account code, 2. Bank name, 3. Bank code. */
- if (bankname)
- return g_strdup_printf(_("%s at %s (code %s)"),
+ if (strlen(bankname) > 0)
+ result = g_strdup_printf(_("%s at %s (code %s)"),
AB_Account_GetAccountNumber (hacc),
bankname,
bankcode);
else
- return g_strdup_printf(_("%s at bank code %s"),
+ result = g_strdup_printf(_("%s at bank code %s"),
AB_Account_GetAccountNumber (hacc),
bankcode);
+ g_free (bankname);
+ return result;
}
More information about the gnucash-changes
mailing list