Blame


1 b2cfc4e2 2003-09-30 devnull #include "lib9.h"
2 b2cfc4e2 2003-09-30 devnull #include <regexp9.h>
3 b2cfc4e2 2003-09-30 devnull
4 b2cfc4e2 2003-09-30 devnull struct x
5 b2cfc4e2 2003-09-30 devnull {
6 b2cfc4e2 2003-09-30 devnull char *re;
7 b2cfc4e2 2003-09-30 devnull char *s;
8 b2cfc4e2 2003-09-30 devnull Reprog *p;
9 b2cfc4e2 2003-09-30 devnull };
10 b2cfc4e2 2003-09-30 devnull
11 b2cfc4e2 2003-09-30 devnull struct x t[] = {
12 b2cfc4e2 2003-09-30 devnull { "^[^!@]+$", "/bin/upas/aliasmail '&'", 0 },
13 b2cfc4e2 2003-09-30 devnull { "^local!(.*)$", "/mail/box/\\1/mbox", 0 },
14 b2cfc4e2 2003-09-30 devnull { "^plan9!(.*)$", "\\1", 0 },
15 b2cfc4e2 2003-09-30 devnull { "^helix!(.*)$", "\\1", 0 },
16 b2cfc4e2 2003-09-30 devnull { "^([^!]+)@([^!@]+)$", "\\2!\\1", 0 },
17 b2cfc4e2 2003-09-30 devnull { "^(uk\\.[^!]*)(!.*)$", "/bin/upas/uk2uk '\\1' '\\2'", 0 },
18 b2cfc4e2 2003-09-30 devnull { "^[^!]*\\.[^!]*!.*$", "inet!&", 0 },
19 b2cfc4e2 2003-09-30 devnull { "^\xE2\x98\xBA$", "smiley", 0 },
20 b2cfc4e2 2003-09-30 devnull { "^(coma|research|pipe|pyxis|inet|hunny|gauss)!(.*)$", "/mail/lib/qmail '\\s' 'net!\\1' '\\2'", 0 },
21 b2cfc4e2 2003-09-30 devnull { "^.*$", "/mail/lib/qmail '\\s' 'net!research' '&'", 0 },
22 b2cfc4e2 2003-09-30 devnull { 0, 0, 0 },
23 b2cfc4e2 2003-09-30 devnull };
24 b2cfc4e2 2003-09-30 devnull
25 3d31240b 2013-07-02 0intro int
26 b2cfc4e2 2003-09-30 devnull main(int ac, char **av)
27 b2cfc4e2 2003-09-30 devnull {
28 b2cfc4e2 2003-09-30 devnull Resub rs[10];
29 b2cfc4e2 2003-09-30 devnull char dst[128];
30 b2cfc4e2 2003-09-30 devnull struct x *tp;
31 b2cfc4e2 2003-09-30 devnull
32 b2cfc4e2 2003-09-30 devnull for(tp = t; tp->re; tp++)
33 b2cfc4e2 2003-09-30 devnull tp->p = regcomp(tp->re);
34 b2cfc4e2 2003-09-30 devnull
35 b2cfc4e2 2003-09-30 devnull for(tp = t; tp->re; tp++){
36 b2cfc4e2 2003-09-30 devnull print("%s VIA %s", av[1], tp->re);
37 b2cfc4e2 2003-09-30 devnull memset(rs, 0, sizeof rs);
38 b2cfc4e2 2003-09-30 devnull if(regexec(tp->p, av[1], rs, 10)){
39 b2cfc4e2 2003-09-30 devnull regsub(tp->s, dst, sizeof dst, rs, 10);
40 b2cfc4e2 2003-09-30 devnull print(" sub %s -> %s", tp->s, dst);
41 b2cfc4e2 2003-09-30 devnull }
42 b2cfc4e2 2003-09-30 devnull print("\n");
43 b2cfc4e2 2003-09-30 devnull }
44 b2cfc4e2 2003-09-30 devnull exit(0);
45 b2cfc4e2 2003-09-30 devnull }