1570af302Sopenharmony_ci#include <regex.h> 2570af302Sopenharmony_ci#define T(t) (t*)0; 3570af302Sopenharmony_ci#define F(t,n) {t *y = &x.n;} 4570af302Sopenharmony_ci#define C(n) switch(n){case n:;} 5570af302Sopenharmony_cistatic void f() 6570af302Sopenharmony_ci{ 7570af302Sopenharmony_ciT(size_t) 8570af302Sopenharmony_ciT(regoff_t) 9570af302Sopenharmony_ci{ 10570af302Sopenharmony_ciregex_t x; 11570af302Sopenharmony_ciF(size_t,re_nsub) 12570af302Sopenharmony_ci} 13570af302Sopenharmony_ci{ 14570af302Sopenharmony_ciregmatch_t x; 15570af302Sopenharmony_ciF(regoff_t,rm_so) 16570af302Sopenharmony_ciF(regoff_t,rm_eo) 17570af302Sopenharmony_ci} 18570af302Sopenharmony_ciC(REG_EXTENDED) 19570af302Sopenharmony_ciC(REG_ICASE) 20570af302Sopenharmony_ciC(REG_NOSUB) 21570af302Sopenharmony_ciC(REG_NEWLINE) 22570af302Sopenharmony_ciC(REG_NOTBOL) 23570af302Sopenharmony_ciC(REG_NOTEOL) 24570af302Sopenharmony_ciC(REG_NOMATCH) 25570af302Sopenharmony_ciC(REG_BADPAT) 26570af302Sopenharmony_ciC(REG_ECOLLATE) 27570af302Sopenharmony_ciC(REG_ECTYPE) 28570af302Sopenharmony_ciC(REG_EESCAPE) 29570af302Sopenharmony_ciC(REG_ESUBREG) 30570af302Sopenharmony_ciC(REG_EBRACK) 31570af302Sopenharmony_ciC(REG_EPAREN) 32570af302Sopenharmony_ciC(REG_EBRACE) 33570af302Sopenharmony_ciC(REG_BADBR) 34570af302Sopenharmony_ciC(REG_ERANGE) 35570af302Sopenharmony_ciC(REG_ESPACE) 36570af302Sopenharmony_ciC(REG_BADRPT) 37570af302Sopenharmony_ci{int(*p)(regex_t*restrict,const char*restrict,int) = regcomp;} 38570af302Sopenharmony_ci{size_t(*p)(int,const regex_t*restrict,char*restrict,size_t) = regerror;} 39570af302Sopenharmony_ci{int(*p)(const regex_t*restrict,const char*restrict,size_t,regmatch_t[restrict],int) = regexec;} 40570af302Sopenharmony_ci{void(*p)(regex_t*) = regfree;} 41570af302Sopenharmony_ci} 42