os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/generic/regfree.c
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2  * regfree - free an RE
     3  *
     4  * Copyright (c) 1998, 1999 Henry Spencer.  All rights reserved.
     5  * 
     6  * Development of this software was funded, in part, by Cray Research Inc.,
     7  * UUNET Communications Services Inc., Sun Microsystems Inc., and Scriptics
     8  * Corporation, none of whom are responsible for the results.  The author
     9  * thanks all of them. 
    10  * 
    11  * Redistribution and use in source and binary forms -- with or without
    12  * modification -- are permitted for any purpose, provided that
    13  * redistributions in source form retain this entire copyright notice and
    14  * indicate the origin and nature of any modifications.
    15  * 
    16  * I'd appreciate being given credit for this package in the documentation
    17  * of software which uses it, but that is not a requirement.
    18  * 
    19  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
    20  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
    21  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
    22  * HENRY SPENCER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    25  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    26  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    27  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
    28  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    29  *
    30  *
    31  *
    32  * You might think that this could be incorporated into regcomp.c, and
    33  * that would be a reasonable idea... except that this is a generic
    34  * function (with a generic name), applicable to all compiled REs
    35  * regardless of the size of their characters, whereas the stuff in
    36  * regcomp.c gets compiled once per character size.
    37  */
    38 
    39 #include "regguts.h"
    40 
    41 /*
    42  - regfree - free an RE (generic function, punts to RE-specific function)
    43  *
    44  * Ignoring invocation with NULL is a convenience.
    45  */
    46 VOID
    47 regfree(re)
    48 regex_t *re;
    49 {
    50 	if (re == NULL)
    51 		return;
    52 	(*((struct fns *)re->re_fns)->free)(re);
    53 }