File: regexp.h

package info (click to toggle)
afterstep 2.2.12-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 33,168 kB
  • sloc: ansic: 201,695; sh: 5,894; xml: 3,721; makefile: 2,095; perl: 1,558; cpp: 811
file content (61 lines) | stat: -rw-r--r-- 1,823 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef REGEXP_HEADER_FILE_INCLUDED
#define REGEXP_HEADER_FILE_INCLUDED
/************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************/
/*		regexp compiler and datastructures interface		*/
/************************************************************************/

#include <regex.h>

#define POSIX_HEADER "posix:"

struct reg_exp;

typedef struct wild_reg_exp
{
  unsigned char *raw;

  struct reg_exp *head, *tail, *longest;
  unsigned char max_size, hard_total, soft_total, wildcards_num;
  
  regex_t *p_reg;

}
wild_reg_exp;

wild_reg_exp *compile_wild_reg_exp (const char *pattern);
wild_reg_exp *compile_wild_reg_exp_sized (const char *pattern, int size );

void print_wild_reg_exp (wild_reg_exp * wrexp);
void destroy_wild_reg_exp (wild_reg_exp * wrexp);

/************************************************************************/
/************************************************************************/
/*			Search and sorting methods 			*/
/************************************************************************/

#define DIR_LEFT	(0x01<<0)
#define DIR_RIGHT	(0x01<<1)
#define DIR_BOTH	(DIR_LEFT|DIR_RIGHT)

/* returns 0 if we have a match - -1 if we have to keep searching, 1 - error */
int match_wild_reg_exp (char *string, wild_reg_exp * wrexp);
int match_string_list (char **list, int max_elem, wild_reg_exp * wrexp);

int compare_wild_reg_exp (wild_reg_exp * wrexp1, wild_reg_exp * wrexp2);

/************************************************************************/
/* from wild.c - verry depreciated : */
/* not used anywhere in AS anymore. Remove it? */
int matchWildcards (const char *, const char *);

#ifdef __cplusplus
}
#endif


#endif /* REGEXP_HEADER_FILE_INCLUDED */