~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to regex/regfree.c

Replaced regex lib with pcre. Reworked mysqltest to use it. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <my_global.h>
2
 
#include <sys/types.h>
3
 
#include <stdio.h>
4
 
#include <stdlib.h>
5
 
#include "my_regex.h"
6
 
 
7
 
#include "utils.h"
8
 
#include "regex2.h"
9
 
 
10
 
/*
11
 
 - regfree - free everything
12
 
 = extern void regfree(regex_t *);
13
 
 */
14
 
void
15
 
my_regfree(preg)
16
 
my_regex_t *preg;
17
 
{
18
 
        register struct re_guts *g;
19
 
 
20
 
        if (preg->re_magic != MAGIC1)   /* oops */
21
 
                return;                 /* nice to complain, but hard */
22
 
 
23
 
        g = preg->re_g;
24
 
        if (g == NULL || g->magic != MAGIC2)    /* oops again */
25
 
                return;
26
 
        preg->re_magic = 0;             /* mark it invalid */
27
 
        g->magic = 0;                   /* mark it invalid */
28
 
 
29
 
        if (g->strip != NULL)
30
 
                free((char *)g->strip);
31
 
        if (g->sets != NULL)
32
 
                free((char *)g->sets);
33
 
        if (g->setbits != NULL)
34
 
                free((char *)g->setbits);
35
 
        if (g->must != NULL)
36
 
                free(g->must);
37
 
        free((char *)g);
38
 
}