gluke           Mon Feb 16 11:11:56 2004 EDT

  Modified files:              
    /php-src/ext/mnogosearch    php_mnogo.c 
  Log:
  - A fix to make UDM_LIMIT_DATE work was applied. Thanx to
    d.rousseau at nnx.com 
  
  
http://cvs.php.net/diff.php/php-src/ext/mnogosearch/php_mnogo.c?r1=1.86&r2=1.87&ty=u
Index: php-src/ext/mnogosearch/php_mnogo.c
diff -u php-src/ext/mnogosearch/php_mnogo.c:1.86 
php-src/ext/mnogosearch/php_mnogo.c:1.87
--- php-src/ext/mnogosearch/php_mnogo.c:1.86    Thu Jan  8 03:16:08 2004
+++ php-src/ext/mnogosearch/php_mnogo.c Mon Feb 16 11:11:55 2004
@@ -1,5 +1,5 @@
 /* $Source: /repository/php-src/ext/mnogosearch/php_mnogo.c,v $ */
-/* $Id: php_mnogo.c,v 1.86 2004/01/08 08:16:08 andi Exp $ */
+/* $Id: php_mnogo.c,v 1.87 2004/02/16 16:11:55 gluke Exp $ */
 
 /*
    +----------------------------------------------------------------------+
@@ -1394,6 +1394,48 @@
                        stl_info.t1=(time_t)(atol(val+1));
                        UdmAddTimeLimit(Agent->Conf,&stl_info);
                        }
+#elif UDM_VERSION_ID >= 30210
+                        {
+                           struct tm       *d_tm;
+                            time_t          d_t;
+                            char            *d_val2;
+                            char            d_db[20], d_de[20];
+                            d_t = atol (val+1);
+                            d_tm = localtime (&d_t);
+                            if (val[0] == '>') {
+                               UdmVarListReplaceStr(&Agent->Conf->Vars,"dt","er");
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dx","1");
+                                sprintf (d_db, "%d", d_tm->tm_mday);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dd",d_db);
+                                sprintf (d_db, "%d", d_tm->tm_mon);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dm",d_db);
+                                sprintf (d_db, "%d", d_tm->tm_year+1900);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dy",d_db);
+                                RETURN_TRUE;
+                            } else if (val[0] == '<') {
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dt","er");
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dx","-1");
+                                sprintf (d_db, "%d", d_tm->tm_mday);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dd",d_db);
+                                sprintf (d_db, "%d", d_tm->tm_mon);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dm",d_db);
+                                sprintf (d_db, "%d", d_tm->tm_year+1900);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dy",d_db);
+                                RETURN_TRUE;
+                            } else if ( (val[0]=='#') && (d_val2 = strchr(val,',')) ){
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"dt","range");
+                                sprintf (d_db, "%d/%d/%d", d_tm->tm_mday, 
d_tm->tm_mon+1, d_tm->tm_year+1900);
+                                d_t = atol (d_val2+1);
+                                d_tm = localtime (&d_t);
+                                sprintf (d_de, "%d/%d/%d", d_tm->tm_mday, 
d_tm->tm_mon+1, d_tm->tm_year+1900);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"db",d_db);
+                                UdmVarListReplaceStr(&Agent->Conf->Vars,"de",d_de);
+                                RETURN_TRUE;
+                            } else {
+                                php_error_docref(NULL TSRMLS_CC, E_WARNING,"Incorrect 
date limit format");
+                                RETURN_FALSE;
+                            }
+                       }
 #endif
                        break;
                default:
@@ -2200,9 +2242,9 @@
                        {
                            int len,i;
                            for(len = i = 0; i < Res->WWList.nwords; i++) 
-                               len += Res->WWList.Word[i].len;
+                               len += Res->WWList.Word[i].len + 64;
                            {   
-                               size_t wsize=(1+len*15)*sizeof(char);
+                               size_t wsize=(1+len)*sizeof(char);
                                char *wordinfo = (char*) malloc(wsize);
          
                                *wordinfo = '\0';
@@ -2230,9 +2272,9 @@
                        {
                            int len,i,j;
                            for(len = i = 0; i < Res->WWList.nwords; i++) 
-                               len += Res->WWList.Word[i].len;
+                               len += Res->WWList.Word[i].len + 64;
                            {   
-                               size_t wsize=(1+len*15)*sizeof(char);
+                               size_t wsize=(1+len)*sizeof(char);
                                char *wordinfo = (char*) malloc(wsize);
                                int corder = (size_t)-1, ccount = 0;
          

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to