Date: 13 Jan 2007 15:45:30 -0000 From: Lapo Luchini <lapo@lapo.it> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Lapo Luchini <lapo@lapo.it> Subject: ports/107874: port databases/freetds: fix for MSSQL 7 Message-ID: <20070113154530.35273.qmail@mail.lapo.it> Resent-Message-ID: <200701131620.l0DGKCxo056849@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 107874 >Category: ports >Synopsis: port databases/freetds: fix for MSSQL 7 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sat Jan 13 16:20:11 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Lapo Luchini >Release: FreeBSD 6.2-PRERELEASE amd64 >Organization: >Environment: System: FreeBSD motoko.lapo.it 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #5: Wed Nov 22 20:09:06 CET 2006 root@motoko.lapo.it:/usr/obj/usr/src/sys/MOTOKO amd64 A recent fix (backported from 0.64 to 0.63) to correctly support MSSQL 7, that uses CP1252 even though it states to use ISO-8859-1. (the difference is slight but present: e.g. the special quotes) >Description: >How-To-Repeat: >Fix: --- patch-src_tds_iconv.c begins here --- --- 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; --- patch-src_tds_iconv.c ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070113154530.35273.qmail>