summaryrefslogtreecommitdiff
path: root/databases/freetds-devel/files/patch-src_tds_iconv.c
diff options
context:
space:
mode:
authorRong-En Fan <rafan@FreeBSD.org>2007-03-03 14:18:19 +0000
committerRong-En Fan <rafan@FreeBSD.org>2007-03-03 14:18:19 +0000
commitc63ddc7f8d4b22395d47676adc1809bea6bb80cb (patch)
tree793f8278e25953da26358c210bd21fca6d51d07c /databases/freetds-devel/files/patch-src_tds_iconv.c
parent[forced commit] (diff)
- Update to 0.64
- Fix MSSQL 7 support, use CP1252 even though it states to use ISO-8859-1 PR: ports/107874 Submitted by: Lapo Luchini <lapo at lapo.it>
Diffstat (limited to 'databases/freetds-devel/files/patch-src_tds_iconv.c')
-rw-r--r--databases/freetds-devel/files/patch-src_tds_iconv.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/databases/freetds-devel/files/patch-src_tds_iconv.c b/databases/freetds-devel/files/patch-src_tds_iconv.c
new file mode 100644
index 000000000000..1899306538c2
--- /dev/null
+++ b/databases/freetds-devel/files/patch-src_tds_iconv.c
@@ -0,0 +1,23 @@
+--- src/tds/iconv.c.orig Sat Jan 13 16:27:13 2007
++++ src/tds/iconv.c Sat Jan 13 16:29:24 2007
+@@ -973,13 +973,18 @@ tds_srv_charset_changed(TDSSOCKET * tds,
+ #if HAVE_ICONV_ALWAYS
+ TDSICONV *char_conv = tds->char_convs[client2server_chardata];
+
+- const char *canonic_charset = tds_canonical_charset_name(charset);
++ int canonic_charset_num = tds_canonical_charset(charset);
++ const char *canonic_charset;
++
++ if (tds->major_version >= 7 && canonic_charset_num == TDS_CHARSET_ISO_8859_1)
++ canonic_charset_num = TDS_CHARSET_CP1252;
+
+ /* ignore request to change to unknown charset */
+- if (!canonic_charset) {
++ if (canonic_charset_num < 0) {
+ tdsdump_log(TDS_DBG_FUNC, "tds_srv_charset_changed: what is charset \"%s\"?\n", charset);
+ return;
+ }
++ canonic_charset = canonic_charsets[canonic_charset_num].name;
+
+ if (strcmp(canonic_charset, char_conv->server_charset.name) == 0)
+ return;