]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/bregex.c
Drop removed catalog function prototype.
[bacula/bacula] / bacula / src / lib / bregex.c
index 2cd01baf936a2c95df3e52d75fc5d060d26bba24..6df0c745563a84bdfcaeb317fa11ceebaba70304 100644 (file)
@@ -26,8 +26,6 @@
  * Peters, Guido van Rossum, Ka-Ping Yee, Sjoerd Mullender, and
  * probably one or two others that I'm forgetting.
  *
- * $Id$   
- *
  * This file modified to work with Bacula and C++ by
  *    Kern Sibbald, April 2006
  *
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2006-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2006-2010 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
-   modify it under the terms of version two of the GNU General Public
-   License as published by the Free Software Foundation plus additions
-   that are listed in the file LICENSE.
+   modify it under the terms of version three of the GNU Affero General Public
+   License as published by the Free Software Foundation and included
+   in the file LICENSE.
 
    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public License
+   You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark of John Walker.
+   Bacula® is a registered trademark of Kern Sibbald.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
@@ -1466,7 +1464,7 @@ int regcomp(regex_t * bufp, const char *regex, int cflags)
    if (bufp->cflags & REG_ICASE) {
       char *p, *lcase = bstrdup(regex);
       for( p = lcase; *p ; p++) {
-        *p = tolower(*p);
+         *p = tolower(*p);
       } 
       re_compile_pattern(bufp, (unsigned char *)lcase);
       bfree(lcase);
@@ -1480,8 +1478,8 @@ int regcomp(regex_t * bufp, const char *regex, int cflags)
 }
 
 void re_registers_to_regmatch(regexp_registers_t old_regs, 
-                             regmatch_t pmatch[], 
-                             size_t nmatch)
+                              regmatch_t pmatch[], 
+                              size_t nmatch)
 {
    size_t i=0;
    
@@ -1502,7 +1500,9 @@ int regexec(regex_t * preg, const char *string, size_t nmatch,
    int len = strlen(string);
    struct re_registers regs;
    stat = re_search(preg, (unsigned char *)string, len, 0, len, &regs);
-   re_registers_to_regmatch(&regs, pmatch, nmatch);
+   if (stat >= 0) {
+      re_registers_to_regmatch(&regs, pmatch, nmatch);
+   }
    /* stat is the start position in the string base 0 where       
     *  the pattern was found or negative if not found.
     */
@@ -1939,12 +1939,12 @@ int re_search(regex_t * bufp, unsigned char *str, int size, int pos,
    if (bufp->cflags & REG_ICASE) { /* we must use string in lowercase */
       int len = strlen((const char *)str);
       if (!bufp->lcase) {
-        bufp->lcase = get_pool_memory(PM_FNAME);
+         bufp->lcase = get_pool_memory(PM_FNAME);
       }
-      check_pool_memory_size(bufp->lcase, len+1);
+      bufp->lcase = check_pool_memory_size(bufp->lcase, len+1);
       unsigned char *dst = (unsigned char *)bufp->lcase;
       while (*string) {
-        *dst++ = tolower(*string++);
+         *dst++ = tolower(*string++);
       }
       *dst = '\0';
       string = (unsigned char *)bufp->lcase;