diff --git a/configure.in b/configure.in index 22e06e3e..1a3abe28 100644 --- a/configure.in +++ b/configure.in @@ -156,6 +156,9 @@ AC_SUBST(LIBAVL_LIBS) AC_CHECK_HEADER(antlr3.h, , AC_MSG_ERROR([antlr3.h not found])) AC_CHECK_LIB([antlr3c], [antlr3BaseRecognizerNew], [ANTLR3C_LIBS="-lantlr3c"], AC_MSG_ERROR([ANTLR3 C runtime (libantlr3c) not found])) +AC_CHECK_LIB([antlr3c], [antlr3NewAsciiStringInPlaceStream], + AC_DEFINE(ANTLR3C_NEW_INPUT, 0, [define if antlr3 C runtime uses new input routines]), + AC_DEFINE(ANTLR3C_NEW_INPUT, 1, [define if antlr3 C runtime uses new input routines])) AC_SUBST(ANTLR3C_LIBS) AM_PATH_LIBGCRYPT([1:1.2.0], , AC_MSG_ERROR([libgcrypt not found])) diff --git a/src/daap_query.c b/src/daap_query.c index 94a33969..f66292fb 100644 --- a/src/daap_query.c +++ b/src/daap_query.c @@ -57,7 +57,11 @@ daap_query_parse_sql(const char *daap_query) DPRINTF(E_DBG, L_DAAP, "Trying DAAP query -%s-\n", daap_query); +#if ANTLR3C_NEW_INPUT + query = antlr3StringStreamNew ((pANTLR3_UINT8)daap_query, ANTLR3_ENC_8BIT, (ANTLR3_UINT64)strlen(daap_query), (pANTLR3_UINT8)"DAAP query"); +#else query = antlr3NewAsciiStringInPlaceStream ((pANTLR3_UINT8)daap_query, (ANTLR3_UINT64)strlen(daap_query), (pANTLR3_UINT8)"DAAP query"); +#endif if (!query) { DPRINTF(E_DBG, L_DAAP, "Could not create input stream\n"); diff --git a/src/rsp_query.c b/src/rsp_query.c index 55dc3ec3..84e942c7 100644 --- a/src/rsp_query.c +++ b/src/rsp_query.c @@ -57,7 +57,11 @@ rsp_query_parse_sql(const char *rsp_query) DPRINTF(E_DBG, L_RSP, "Trying RSP query -%s-\n", rsp_query); +#if ANTLR3C_NEW_INPUT + query = antlr3StringStreamNew ((pANTLR3_UINT8)rsp_query, ANTLR3_ENC_8BIT, (ANTLR3_UINT64)strlen(rsp_query), (pANTLR3_UINT8)"RSP query"); +#else query = antlr3NewAsciiStringInPlaceStream ((pANTLR3_UINT8)rsp_query, (ANTLR3_UINT64)strlen(rsp_query), (pANTLR3_UINT8)"RSP query"); +#endif if (!query) { DPRINTF(E_DBG, L_RSP, "Could not create input stream\n");