| test.c - 9base - revived minimalist port of Plan 9 userland to Unix | |
| git clone git://git.suckless.org/9base | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| test.c (1003B) | |
| --- | |
| 1 #include "lib9.h" | |
| 2 #include <regexp9.h> | |
| 3 | |
| 4 struct x | |
| 5 { | |
| 6 char *re; | |
| 7 char *s; | |
| 8 Reprog *p; | |
| 9 }; | |
| 10 | |
| 11 struct x t[] = { | |
| 12 { "^[^!@]+$", "/bin/upas/aliasmail '&'", 0 }, | |
| 13 { "^local!(.*)$", "/mail/box/\\1/mbox", 0 }, | |
| 14 { "^plan9!(.*)$", "\\1", 0 }, | |
| 15 { "^helix!(.*)$", "\\1", 0 }, | |
| 16 { "^([^!]+)@([^!@]+)$", "\\2!\\1", 0 }, | |
| 17 { "^(uk\\.[^!]*)(!.*)$", "/bin/upas/uk2uk '\\1' '\\2'", 0 }, | |
| 18 { "^[^!]*\\.[^!]*!.*$", "inet!&", 0 }, | |
| 19 { "^\xE2\x98\xBA$", "smiley", 0 }, | |
| 20 { "^(coma|research|pipe|pyxis|inet|hunny|gauss)!(.*)$", "/mail/l… | |
| 21 { "^.*$", "/mail/lib/qmail '\\s' 'net!research' '&'", 0 }, | |
| 22 { 0, 0, 0 }, | |
| 23 }; | |
| 24 | |
| 25 main(int ac, char **av) | |
| 26 { | |
| 27 Resub rs[10]; | |
| 28 char dst[128]; | |
| 29 int n; | |
| 30 struct x *tp; | |
| 31 | |
| 32 for(tp = t; tp->re; tp++) | |
| 33 tp->p = regcomp(tp->re); | |
| 34 | |
| 35 | |
| 36 for(tp = t; tp->re; tp++){ | |
| 37 print("%s VIA %s", av[1], tp->re); | |
| 38 memset(rs, 0, sizeof rs); | |
| 39 if(regexec(tp->p, av[1], rs, 10)){ | |
| 40 regsub(tp->s, dst, sizeof dst, rs, 10); | |
| 41 print(" sub %s -> %s", tp->s, dst); | |
| 42 } | |
| 43 print("\n"); | |
| 44 } | |
| 45 exit(0); | |
| 46 } |