From 60b47827d5b2573c43b87a1b1c5cb4146d05b2e0 Mon Sep 17 00:00:00 2001 From: Frediano Ziglio Date: Tue, 6 Jun 2017 08:04:14 +0100 Subject: [PATCH] Fix ct_options for CS_OPT_ARITHIGNORE and CS_OPT_ARITHABORT The two options required just normal boolean processing. This problem was reported by Matt Meissner. Signed-off-by: Frediano Ziglio --- src/ctlib/ct.c | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/src/ctlib/ct.c b/src/ctlib/ct.c index 34d13e4e15..21fd1ae85a 100644 --- a/src/ctlib/ct.c +++ b/src/ctlib/ct.c @@ -3419,6 +3419,8 @@ ct_options(CS_CONNECTION * con, CS_INT action, CS_INT option, CS_VOID * param, C , { CS_OPT_SHOWPLAN, TDS_OPT_SHOWPLAN } , { CS_OPT_STATS_IO, TDS_OPT_STAT_IO } , { CS_OPT_STATS_TIME, TDS_OPT_STAT_TIME } + , { CS_OPT_ARITHIGNORE, TDS_OPT_ARITHIGNOREON } + , { CS_OPT_ARITHABORT, TDS_OPT_ARITHABORTON } }; tdsdump_log(TDS_DBG_FUNC, "ct_options(%p, %d, %d, %p, %d, %p)\n", con, action, option, param, paramlen, outlen); @@ -3512,36 +3514,6 @@ ct_options(CS_CONNECTION * con, CS_INT action, CS_INT option, CS_VOID * param, C return CS_FAIL; } break; - case CS_OPT_ARITHABORT: - tds_option = TDS_OPT_ARITHABORTON; - switch (*(CS_BOOL *) param) { - case CS_TRUE: - break; - case CS_FALSE: - tds_option = TDS_OPT_ARITHABORTOFF; - break; - default: - if (action == CS_SET) - return CS_FAIL; - } - tds_argument.ti = TDS_OPT_ARITHOVERFLOW | TDS_OPT_NUMERICTRUNC; - tds_argsize = (action == CS_SET) ? 1 : 0; - break; - case CS_OPT_ARITHIGNORE: - tds_option = TDS_OPT_ARITHIGNOREON; - switch (*(CS_BOOL *) param) { - case CS_TRUE: - break; - case CS_FALSE: - tds_option = TDS_OPT_ARITHIGNOREOFF; - break; - default: - if (action == CS_SET) - return CS_FAIL; - } - tds_argument.i = TDS_OPT_ARITHOVERFLOW | TDS_OPT_NUMERICTRUNC; - tds_argsize = (action == CS_SET) ? 4 : 0; - break; case CS_OPT_AUTHOFF: tds_option = TDS_OPT_AUTHOFF; tds_argument.c = (TDS_CHAR *) param;