From 3fc482b2070a0d423388a635a3c6c1a5612a7a9c Mon Sep 17 00:00:00 2001 From: Sergey Kartashoff Date: Wed, 14 Feb 2001 14:27:46 +0000 Subject: [PATCH] Added mnogosearch version checking into config.m4. Some proto fixes. --- ext/mnogosearch/config.m4 | 26 +++++++++++++++++++++++-- ext/mnogosearch/php_mnogo.c | 38 ++++++++++++++++++------------------- 2 files changed, 43 insertions(+), 21 deletions(-) diff --git a/ext/mnogosearch/config.m4 b/ext/mnogosearch/config.m4 index 76bc9c86e7..d2e9353fbb 100644 --- a/ext/mnogosearch/config.m4 +++ b/ext/mnogosearch/config.m4 @@ -17,14 +17,36 @@ PHP_ARG_WITH(mnogosearch,for mnoGoSearch support, MNOGOSEARCH_LIBDIR=$PHP_MNOGOSEARCH/lib fi - AC_ADD_INCLUDE($MNOGOSEARCH_INCDIR) + AC_MSG_CHECKING(for mnoGoSearch version) if test -x "$MNOGOSEARCH_BINDIR/udm-config"; then + MNOGOSEARCH_VERSION=`$MNOGOSEARCH_BINDIR/udm-config --version` + MNOGOSEARCH_VERSION_ID=`$MNOGOSEARCH_BINDIR/udm-config -version-id` + + if test $? -ne 0; then + AC_MSG_RESULT(<= 3.1.9) + AC_MSG_ERROR(mnoGoSearch 3.1.10 at least required) + fi + + if test -l "$MNOGOSEARCH_VERSION_ID" -gt 6; then + AC_MSG_RESULT(<= 3.1.9) + AC_MSG_ERROR(mnoGoSearch 3.1.10 at least required) + fi + + if test "$MNOGOSEARCH_VERSION_ID" -lt 30110; then + AC_MSG_RESULT(<= 3.1.9) + AC_MSG_ERROR(mnoGoSearch 3.1.10 at least required) + fi + + AC_MSG_RESULT($MNOGOSEARCH_VERSION) + PHP_EVAL_LIBLINE(`$MNOGOSEARCH_BINDIR/udm-config --libs`, MNOGOSEARCH_SHARED_LIBADD) else - AC_ADD_LIBRARY_WITH_PATH(udmsearch, $MNOGOSEARCH_LIBDIR, MNOGOSEARCH_SHARED_LIBADD) + AC_MSG_ERROR(udm-config script not found in $MNOGOSEARCH_BINDIR) fi + AC_ADD_INCLUDE($MNOGOSEARCH_INCDIR) + AC_DEFINE(HAVE_MNOGOSEARCH,1,[ ]) PHP_SUBST(MNOGOSEARCH_SHARED_LIBADD) diff --git a/ext/mnogosearch/php_mnogo.c b/ext/mnogosearch/php_mnogo.c index 7c1246fb51..e8c2d9e305 100644 --- a/ext/mnogosearch/php_mnogo.c +++ b/ext/mnogosearch/php_mnogo.c @@ -682,12 +682,12 @@ DLEXPORT PHP_FUNCTION(udm_free_res) /* }}} */ -/* {{{ proto int udm_errno(int agent) - mnoGoSearch error number */ -DLEXPORT PHP_FUNCTION(udm_errno) +/* {{{ proto int udm_free_agent(int agent) + Free mnoGoSearch session */ +DLEXPORT PHP_FUNCTION(udm_free_agent) { pval ** yyagent; - UDM_AGENT * Agent; + UDM_RESULT * Agent; switch(ZEND_NUM_ARGS()){ case 1: { if (zend_get_parameters_ex(1, &yyagent)==FAILURE) { @@ -699,19 +699,20 @@ DLEXPORT PHP_FUNCTION(udm_errno) WRONG_PARAM_COUNT; break; } - ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-Agent", le_link); - RETURN_LONG(UdmDBErrorCode(Agent->db)); + ZEND_FETCH_RESOURCE(Agent, UDM_RESULT *, yyagent, -1, "mnoGoSearch-agent", le_link); + zend_list_delete((*yyagent)->value.lval); + + RETURN_TRUE; } /* }}} */ -/* {{{ proto string udm_error(int agent) - mnoGoSearch error message */ -DLEXPORT PHP_FUNCTION(udm_error) +/* {{{ proto int udm_errno(int agent) + Get mnoGoSearch error number */ +DLEXPORT PHP_FUNCTION(udm_errno) { pval ** yyagent; UDM_AGENT * Agent; - switch(ZEND_NUM_ARGS()){ case 1: { if (zend_get_parameters_ex(1, &yyagent)==FAILURE) { @@ -724,17 +725,18 @@ DLEXPORT PHP_FUNCTION(udm_error) break; } ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-Agent", le_link); - RETURN_STRING(UdmDBErrorMsg(Agent->db),1); + RETURN_LONG(UdmDBErrorCode(Agent->db)); } /* }}} */ -/* {{{ proto int udm_free_agent(int agent) - Free mnoGoSearch session */ -DLEXPORT PHP_FUNCTION(udm_free_agent) +/* {{{ proto string udm_error(int agent) + Get mnoGoSearch error message */ +DLEXPORT PHP_FUNCTION(udm_error) { pval ** yyagent; - UDM_RESULT * Agent; + UDM_AGENT * Agent; + switch(ZEND_NUM_ARGS()){ case 1: { if (zend_get_parameters_ex(1, &yyagent)==FAILURE) { @@ -746,10 +748,8 @@ DLEXPORT PHP_FUNCTION(udm_free_agent) WRONG_PARAM_COUNT; break; } - ZEND_FETCH_RESOURCE(Agent, UDM_RESULT *, yyagent, -1, "mnoGoSearch-agent", le_link); - zend_list_delete((*yyagent)->value.lval); - - RETURN_TRUE; + ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-Agent", le_link); + RETURN_STRING(UdmDBErrorMsg(Agent->db),1); } /* }}} */ -- 2.50.1