aboutsummaryrefslogtreecommitdiffstats
path: root/cdr
diff options
context:
space:
mode:
Diffstat (limited to 'cdr')
-rw-r--r--cdr/Makefile14
-rw-r--r--cdr/cdr_tds.c10
2 files changed, 16 insertions, 8 deletions
diff --git a/cdr/Makefile b/cdr/Makefile
index bca0165c5..6be6d9b95 100644
--- a/cdr/Makefile
+++ b/cdr/Makefile
@@ -46,13 +46,17 @@ endif
# FreeTDS stuff...
#
ifneq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/tds.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/local/include/tds.h)$(wildcard $(CROSS_COMPILE_TARGET)/usr/include/freetds/tds.h),)
- ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.63),1)
- CFLAGS += -DFREETDS_0_63
+ ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.64),1)
+ CFLAGS += -DFREETDS_0_64
else
- ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.62),1)
- CFLAGS += -DFREETDS_0_62
+ ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.63),1)
+ CFLAGS += -DFREETDS_0_63
else
- CFLAGS += -DFREETDS_PRE_0_62
+ ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.62),1)
+ CFLAGS += -DFREETDS_0_62
+ else
+ CFLAGS += -DFREETDS_PRE_0_62
+ endif
endif
endif
MODS+=cdr_tds.so
diff --git a/cdr/cdr_tds.c b/cdr/cdr_tds.c
index 14aa9b2bd..66035db08 100644
--- a/cdr/cdr_tds.c
+++ b/cdr/cdr_tds.c
@@ -320,7 +320,7 @@ static int mssql_disconnect(void)
static int mssql_connect(void)
{
-#ifdef FREETDS_0_63
+#if (defined(FREETDS_0_63) || defined(FREETDS_0_64))
TDSCONNECTION *connection = NULL;
#else
TDSCONNECTINFO *connection = NULL;
@@ -346,7 +346,11 @@ static int mssql_connect(void)
tds_set_packet(login, 512);
tds_set_version(login, 7, 0);
+#ifdef FREETDS_0_64
+ if (!(context = tds_alloc_context(NULL)))
+#else
if (!(context = tds_alloc_context()))
+#endif
{
ast_log(LOG_ERROR, "tds_alloc_context() failed.\n");
goto connect_fail;
@@ -369,7 +373,7 @@ static int mssql_connect(void)
{
ast_log(LOG_ERROR, "Failed to connect to MSSQL server.\n");
tds = NULL; /* freed by tds_connect() on error */
-#ifdef FREETDS_0_63
+#if (defined(FREETDS_0_63) || defined(FREETDS_0_64))
tds_free_connection(connection);
#else
tds_free_connect(connection);
@@ -377,7 +381,7 @@ static int mssql_connect(void)
connection = NULL;
goto connect_fail;
}
-#ifdef FREETDS_0_63
+#if (defined(FREETDS_0_63) || defined(FREETDS_0_64))
tds_free_connection(connection);
#else
tds_free_connect(connection);