|
nsz |
d7c151 |
#include <regex.h>
|
|
nsz |
d7c151 |
#define T(t) (t*)0;
|
|
nsz |
d7c151 |
#define F(t,n) {t *y = &x.;;}
|
|
nsz |
d7c151 |
#define C(n) switch(n){case n:;}
|
|
nsz |
d7c151 |
static void f()
|
|
nsz |
d7c151 |
{
|
|
nsz |
d7c151 |
T(size_t)
|
|
nsz |
d7c151 |
T(regoff_t)
|
|
nsz |
d7c151 |
{
|
|
nsz |
d7c151 |
regex_t x;
|
|
nsz |
d7c151 |
F(size_t,re_nsub)
|
|
nsz |
d7c151 |
}
|
|
nsz |
d7c151 |
{
|
|
nsz |
d7c151 |
regmatch_t x;
|
|
nsz |
d7c151 |
F(regoff_t,rm_so)
|
|
nsz |
d7c151 |
F(regoff_t,rm_eo)
|
|
nsz |
d7c151 |
}
|
|
nsz |
d7c151 |
C(REG_EXTENDED)
|
|
nsz |
d7c151 |
C(REG_ICASE)
|
|
nsz |
d7c151 |
C(REG_NOSUB)
|
|
nsz |
d7c151 |
C(REG_NEWLINE)
|
|
nsz |
d7c151 |
C(REG_NOTBOL)
|
|
nsz |
d7c151 |
C(REG_NOTEOL)
|
|
nsz |
d7c151 |
C(REG_NOMATCH)
|
|
nsz |
d7c151 |
C(REG_BADPAT)
|
|
nsz |
d7c151 |
C(REG_ECOLLATE)
|
|
nsz |
d7c151 |
C(REG_ECTYPE)
|
|
nsz |
d7c151 |
C(REG_EESCAPE)
|
|
nsz |
d7c151 |
C(REG_ESUBREG)
|
|
nsz |
d7c151 |
C(REG_EBRACK)
|
|
nsz |
d7c151 |
C(REG_EPAREN)
|
|
nsz |
d7c151 |
C(REG_EBRACE)
|
|
nsz |
d7c151 |
C(REG_BADBR)
|
|
nsz |
d7c151 |
C(REG_ERANGE)
|
|
nsz |
d7c151 |
C(REG_ESPACE)
|
|
nsz |
d7c151 |
C(REG_BADRPT)
|
|
nsz |
d7c151 |
int(*p_regcomp)(regex_t*restrict,const char*restrict,int) = regcomp;
|
|
nsz |
d7c151 |
size_t(*p_regerror)(int,const regex_t*restrict,char*restrict,size_t) = regerror;
|
|
nsz |
d7c151 |
int(*p_regexec)(const regex_t*restrict,const char*restrict,size_t,regmatch_t[restrict],int) = regexec;
|
|
nsz |
d7c151 |
void(*p_regfree)(regex_t*) = regfree;
|
|
nsz |
d7c151 |
}
|