VCL_RET_MAC(lookup, LOOKUP, (1 << 1))
VCL_RET_MAC(pipe, PIPE, (1 << 2))
VCL_RET_MAC(pass, PASS, (1 << 3))
-VCL_RET_MAC(fetch, FETCH, (1 << 4))
-VCL_RET_MAC(insert, INSERT, (1 << 5))
-VCL_RET_MAC(deliver, DELIVER, (1 << 6))
-VCL_RET_MAC(discard, DISCARD, (1 << 7))
+VCL_RET_MAC(insert_pass, INSERT_PASS, (1 << 4))
+VCL_RET_MAC(fetch, FETCH, (1 << 5))
+VCL_RET_MAC(insert, INSERT, (1 << 6))
+VCL_RET_MAC(deliver, DELIVER, (1 << 7))
+VCL_RET_MAC(discard, DISCARD, (1 << 8))
#else
#define VCL_RET_ERROR (1 << 0)
#define VCL_RET_LOOKUP (1 << 1)
#define VCL_RET_PIPE (1 << 2)
#define VCL_RET_PASS (1 << 3)
-#define VCL_RET_FETCH (1 << 4)
-#define VCL_RET_INSERT (1 << 5)
-#define VCL_RET_DELIVER (1 << 6)
-#define VCL_RET_DISCARD (1 << 7)
-#define VCL_RET_MAX 8
+#define VCL_RET_INSERT_PASS (1 << 4)
+#define VCL_RET_FETCH (1 << 5)
+#define VCL_RET_INSERT (1 << 6)
+#define VCL_RET_DELIVER (1 << 7)
+#define VCL_RET_DISCARD (1 << 8)
+#define VCL_RET_MAX 9
#endif
#ifdef VCL_MET_MAC
VCL_MET_MAC(recv,RECV,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_PIPE|VCL_RET_LOOKUP))
VCL_MET_MAC(miss,MISS,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_PIPE|VCL_RET_FETCH))
VCL_MET_MAC(hit,HIT,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_PIPE|VCL_RET_DELIVER))
-VCL_MET_MAC(fetch,FETCH,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_PIPE|VCL_RET_INSERT))
+VCL_MET_MAC(fetch,FETCH,(VCL_RET_ERROR|VCL_RET_PASS|VCL_RET_PIPE|VCL_RET_INSERT|VCL_RET_INSERT_PASS))
VCL_MET_MAC(timeout,TIMEOUT,(VCL_RET_FETCH|VCL_RET_DISCARD))
#endif
}
return (0);
case 'i':
+ if (p[0] == 'i' && p[1] == 'n' && p[2] == 's' &&
+ p[3] == 'e' && p[4] == 'r' && p[5] == 't' &&
+ p[6] == '_' && p[7] == 'p' && p[8] == 'a' &&
+ p[9] == 's' && p[10] == 's' && !isvar(p[11])) {
+ *q = p + 11;
+ return (T_INSERT_PASS);
+ }
if (p[0] == 'i' && p[1] == 'n' && p[2] == 's' &&
p[3] == 'e' && p[4] == 'r' && p[5] == 't'
&& !isvar(p[6])) {
vcl_tnames[T_INC] = "++";
vcl_tnames[T_INCR] = "+=";
vcl_tnames[T_INSERT] = "insert";
+ vcl_tnames[T_INSERT_PASS] = "insert_pass";
vcl_tnames[T_LEQ] = "<=";
vcl_tnames[T_LOOKUP] = "lookup";
vcl_tnames[T_MUL] = "*=";
fputs("#define VCL_RET_LOOKUP (1 << 1)\n", f);
fputs("#define VCL_RET_PIPE (1 << 2)\n", f);
fputs("#define VCL_RET_PASS (1 << 3)\n", f);
- fputs("#define VCL_RET_FETCH (1 << 4)\n", f);
- fputs("#define VCL_RET_INSERT (1 << 5)\n", f);
- fputs("#define VCL_RET_DELIVER (1 << 6)\n", f);
- fputs("#define VCL_RET_DISCARD (1 << 7)\n", f);
+ fputs("#define VCL_RET_INSERT_PASS (1 << 4)\n", f);
+ fputs("#define VCL_RET_FETCH (1 << 5)\n", f);
+ fputs("#define VCL_RET_INSERT (1 << 6)\n", f);
+ fputs("#define VCL_RET_DELIVER (1 << 7)\n", f);
+ fputs("#define VCL_RET_DISCARD (1 << 8)\n", f);
fputs("/*\n", f);
fputs(" * $Id$\n", f);
fputs(" *\n", f);