[master] a60d8d9 Express variable implementations in terms of VCL_* types
Poul-Henning Kamp
phk at FreeBSD.org
Tue Mar 6 10:12:06 UTC 2018
commit a60d8d9577f802d82874a212dfdc61af449e47ec
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue Mar 6 10:06:51 2018 +0000
Express variable implementations in terms of VCL_* types
diff --git a/bin/varnishd/cache/cache_vrt_var.c b/bin/varnishd/cache/cache_vrt_var.c
index d781ce7..f5f305f 100644
--- a/bin/varnishd/cache/cache_vrt_var.c
+++ b/bin/varnishd/cache/cache_vrt_var.c
@@ -68,7 +68,7 @@ vrt_do_string(VRT_CTX, struct http *hp, int fld,
}
#define VRT_HDR_L(obj, hdr, fld) \
-void \
+VCL_VOID \
VRT_l_##obj##_##hdr(VRT_CTX, const char *p, ...) \
{ \
va_list ap; \
@@ -80,7 +80,7 @@ VRT_l_##obj##_##hdr(VRT_CTX, const char *p, ...) \
}
#define VRT_HDR_R(obj, hdr, fld) \
-const char * \
+VCL_STRING \
VRT_r_##obj##_##hdr(VRT_CTX) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -93,24 +93,27 @@ VRT_r_##obj##_##hdr(VRT_CTX) \
VRT_HDR_R(obj, hdr, fld)
#define VRT_STATUS_L(obj) \
-void \
-VRT_l_##obj##_status(VRT_CTX, long num) \
+VCL_VOID \
+VRT_l_##obj##_status(VRT_CTX, VCL_INT num) \
{ \
\
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
CHECK_OBJ_NOTNULL(ctx->http_##obj, HTTP_MAGIC); \
if (num < 0) \
- VRT_fail(ctx, "%s.status (%ld) is negative", #obj, num); \
+ VRT_fail(ctx, "%s.status (%jd) is negative", \
+ #obj, (intmax_t)num); \
else if (num > 65535) \
- VRT_fail(ctx, "%s.status (%ld) > 65535", #obj, num); \
+ VRT_fail(ctx, "%s.status (%jd) > 65535", \
+ #obj, (intmax_t)num); \
else if ((num % 1000) < 100) \
- VRT_fail(ctx, "illegal %s.status (%ld) (..0##)", #obj, num); \
+ VRT_fail(ctx, "illegal %s.status (%jd) (..0##)", \
+ #obj, (intmax_t)num); \
else \
http_SetStatus(ctx->http_##obj, (uint16_t)num); \
}
#define VRT_STATUS_R(obj) \
-long \
+VCL_INT \
VRT_r_##obj##_status(VRT_CTX) \
{ \
\
@@ -144,7 +147,7 @@ VRT_STATUS_R(beresp)
* Pulling things out of the packed object->http
*/
-long
+VCL_INT
VRT_r_obj_status(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -154,7 +157,7 @@ VRT_r_obj_status(VRT_CTX)
return (HTTP_GetStatusPack(ctx->req->wrk, ctx->req->objcore));
}
-const char *
+VCL_STRING
VRT_r_obj_proto(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -165,7 +168,7 @@ VRT_r_obj_proto(VRT_CTX)
H__Proto));
}
-const char *
+VCL_STRING
VRT_r_obj_reason(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -183,7 +186,7 @@ VRT_r_obj_reason(VRT_CTX)
#define VBERESPW0(field)
#define VBERESPW1(field) \
void \
-VRT_l_beresp_##field(VRT_CTX, unsigned a) \
+VRT_l_beresp_##field(VRT_CTX, VCL_BOOL a) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
CHECK_OBJ_NOTNULL(ctx->bo, BUSYOBJ_MAGIC); \
@@ -192,7 +195,7 @@ VRT_l_beresp_##field(VRT_CTX, unsigned a) \
#define VBERESPR0(field)
#define VBERESPR1(field) \
-unsigned \
+VCL_BOOL \
VRT_r_beresp_##field(VRT_CTX) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -207,7 +210,7 @@ VRT_r_beresp_##field(VRT_CTX) \
/*--------------------------------------------------------------------*/
-unsigned
+VCL_BOOL
VRT_r_bereq_is_bgfetch(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -215,7 +218,7 @@ VRT_r_bereq_is_bgfetch(VRT_CTX)
return (ctx->bo->is_bgfetch);
}
-unsigned
+VCL_BOOL
VRT_r_bereq_uncacheable(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -223,8 +226,8 @@ VRT_r_bereq_uncacheable(VRT_CTX)
return (ctx->bo->do_pass);
}
-void
-VRT_l_beresp_uncacheable(VRT_CTX, unsigned a)
+VCL_VOID
+VRT_l_beresp_uncacheable(VRT_CTX, VCL_BOOL a)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
CHECK_OBJ_NOTNULL(ctx->bo, BUSYOBJ_MAGIC);
@@ -237,7 +240,7 @@ VRT_l_beresp_uncacheable(VRT_CTX, unsigned a)
}
}
-unsigned
+VCL_BOOL
VRT_r_beresp_uncacheable(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -247,7 +250,7 @@ VRT_r_beresp_uncacheable(VRT_CTX)
/*--------------------------------------------------------------------*/
-const char *
+VCL_STRING
VRT_r_client_identity(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -257,7 +260,7 @@ VRT_r_client_identity(VRT_CTX)
return (SES_Get_String_Attr(ctx->req->sp, SA_CLIENT_IP));
}
-void
+VCL_VOID
VRT_l_client_identity(VRT_CTX, const char *str, ...)
{
va_list ap;
@@ -279,8 +282,8 @@ VRT_l_client_identity(VRT_CTX, const char *str, ...)
/*--------------------------------------------------------------------*/
#define BEREQ_TIMEOUT(which) \
-void \
-VRT_l_bereq_##which(VRT_CTX, double num) \
+VCL_VOID \
+VRT_l_bereq_##which(VRT_CTX, VCL_DURATION num) \
{ \
\
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -288,7 +291,7 @@ VRT_l_bereq_##which(VRT_CTX, double num) \
ctx->bo->which = (num > 0.0 ? num : 0.0); \
} \
\
-double \
+VCL_DURATION \
VRT_r_bereq_##which(VRT_CTX) \
{ \
\
@@ -303,7 +306,7 @@ BEREQ_TIMEOUT(between_bytes_timeout)
/*--------------------------------------------------------------------*/
-const char *
+VCL_STRING
VRT_r_beresp_backend_name(VRT_CTX)
{
@@ -339,7 +342,7 @@ VRT_r_req_storage(VRT_CTX)
return (ctx->req->storage);
}
-void
+VCL_VOID
VRT_l_req_storage(VRT_CTX, VCL_STEVEDORE stv)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -357,7 +360,7 @@ VRT_r_beresp_storage(VRT_CTX)
return (ctx->bo->storage);
}
-void
+VCL_VOID
VRT_l_beresp_storage(VRT_CTX, VCL_STEVEDORE stv)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -371,7 +374,7 @@ VRT_l_beresp_storage(VRT_CTX, VCL_STEVEDORE stv)
#include "storage/storage.h"
-const char *
+VCL_STRING
VRT_r_beresp_storage_hint(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -382,7 +385,7 @@ VRT_r_beresp_storage_hint(VRT_CTX)
return (ctx->bo->storage->vclname);
}
-void
+VCL_VOID
VRT_l_beresp_storage_hint(VRT_CTX, const char *str, ...)
{
const char *p;
@@ -426,7 +429,7 @@ VRT_r_obj_storage(VRT_CTX)
#define REQ_VAR_L(nm, elem, type,extra) \
\
-void \
+VCL_VOID \
VRT_l_req_##nm(VRT_CTX, type arg) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -445,15 +448,15 @@ VRT_r_req_##nm(VRT_CTX) \
return (ctx->req->elem); \
}
-REQ_VAR_L(backend_hint, director_hint, const struct director *,)
-REQ_VAR_R(backend_hint, director_hint, const struct director *)
-REQ_VAR_L(ttl, d_ttl, double, if (!(arg>0.0)) arg = 0;)
-REQ_VAR_R(ttl, d_ttl, double)
+REQ_VAR_L(backend_hint, director_hint, VCL_BACKEND,)
+REQ_VAR_R(backend_hint, director_hint, VCL_BACKEND)
+REQ_VAR_L(ttl, d_ttl, VCL_DURATION, if (!(arg>0.0)) arg = 0;)
+REQ_VAR_R(ttl, d_ttl, VCL_DURATION)
/*--------------------------------------------------------------------*/
-void
-VRT_l_bereq_backend(VRT_CTX, const struct director *be)
+VCL_VOID
+VRT_l_bereq_backend(VRT_CTX, VCL_BACKEND be)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -461,7 +464,7 @@ VRT_l_bereq_backend(VRT_CTX, const struct director *be)
ctx->bo->director_req = be;
}
-const struct director *
+VCL_BACKEND
VRT_r_bereq_backend(VRT_CTX)
{
@@ -470,7 +473,7 @@ VRT_r_bereq_backend(VRT_CTX)
return (ctx->bo->director_req);
}
-const struct director *
+VCL_BACKEND
VRT_r_beresp_backend(VRT_CTX)
{
@@ -481,7 +484,7 @@ VRT_r_beresp_backend(VRT_CTX)
/*--------------------------------------------------------------------*/
-void
+VCL_VOID
VRT_u_bereq_body(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -495,8 +498,8 @@ VRT_u_bereq_body(VRT_CTX)
/*--------------------------------------------------------------------*/
-void
-VRT_l_req_esi(VRT_CTX, unsigned process_esi)
+VCL_VOID
+VRT_l_req_esi(VRT_CTX, VCL_BOOL process_esi)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -510,7 +513,7 @@ VRT_l_req_esi(VRT_CTX, unsigned process_esi)
ctx->req->disable_esi = !process_esi;
}
-unsigned
+VCL_BOOL
VRT_r_req_esi(VRT_CTX)
{
@@ -520,7 +523,7 @@ VRT_r_req_esi(VRT_CTX)
return (!ctx->req->disable_esi);
}
-long
+VCL_INT
VRT_r_req_esi_level(VRT_CTX)
{
@@ -531,7 +534,7 @@ VRT_r_req_esi_level(VRT_CTX)
/*--------------------------------------------------------------------*/
-unsigned
+VCL_BOOL
VRT_r_req_can_gzip(VRT_CTX)
{
@@ -542,7 +545,7 @@ VRT_r_req_can_gzip(VRT_CTX)
/*--------------------------------------------------------------------*/
-long
+VCL_INT
VRT_r_req_restarts(VRT_CTX)
{
@@ -551,7 +554,7 @@ VRT_r_req_restarts(VRT_CTX)
return (ctx->req->restarts);
}
-long
+VCL_INT
VRT_r_bereq_retries(VRT_CTX)
{
@@ -572,7 +575,8 @@ VRT_r_bereq_retries(VRT_CTX)
* grace&keep are relative to ttl
*/
-static double ttl_now(VRT_CTX)
+static double
+ttl_now(VRT_CTX)
{
if (ctx->bo) {
return (ctx->now);
@@ -585,8 +589,8 @@ static double ttl_now(VRT_CTX)
#define VRT_DO_EXP_L(which, oc, fld, offset) \
\
-void \
-VRT_l_##which##_##fld(VRT_CTX, double a) \
+VCL_VOID \
+VRT_l_##which##_##fld(VRT_CTX, VCL_DURATION a) \
{ \
\
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -600,7 +604,7 @@ VRT_l_##which##_##fld(VRT_CTX, double a) \
#define VRT_DO_EXP_R(which, oc, fld, offset) \
\
-double \
+VCL_DURATION \
VRT_r_##which##_##fld(VRT_CTX) \
{ \
double d; \
@@ -632,7 +636,7 @@ VRT_DO_EXP_R(beresp, ctx->bo->fetch_objcore, keep, 0)
#define VRT_DO_AGE_R(which, oc) \
\
-double \
+VCL_DURATION \
VRT_r_##which##_##age(VRT_CTX) \
{ \
\
@@ -647,7 +651,7 @@ VRT_DO_AGE_R(beresp, ctx->bo->fetch_objcore)
* [be]req.xid
*/
-const char *
+VCL_STRING
VRT_r_req_xid(VRT_CTX)
{
@@ -658,7 +662,7 @@ VRT_r_req_xid(VRT_CTX)
VXID(ctx->req->vsl->wid)));
}
-const char *
+VCL_STRING
VRT_r_bereq_xid(VRT_CTX)
{
@@ -675,8 +679,8 @@ VRT_r_bereq_xid(VRT_CTX)
#define VREQW0(field)
#define VREQW1(field) \
-void \
-VRT_l_req_##field(VRT_CTX, unsigned a) \
+VCL_VOID \
+VRT_l_req_##field(VRT_CTX, VCL_BOOL a) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
CHECK_OBJ_NOTNULL(ctx->req, REQ_MAGIC); \
@@ -685,7 +689,7 @@ VRT_l_req_##field(VRT_CTX, unsigned a) \
#define VREQR0(field)
#define VREQR1(field) \
-unsigned \
+VCL_BOOL \
VRT_r_req_##field(VRT_CTX) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
@@ -720,7 +724,7 @@ GIP(server)
/*--------------------------------------------------------------------*/
-const char*
+VCL_STRING
VRT_r_server_identity(VRT_CTX)
{
@@ -731,7 +735,7 @@ VRT_r_server_identity(VRT_CTX)
return ("varnishd");
}
-const char*
+VCL_STRING
VRT_r_server_hostname(VRT_CTX)
{
@@ -743,7 +747,7 @@ VRT_r_server_hostname(VRT_CTX)
/*--------------------------------------------------------------------*/
-long
+VCL_INT
VRT_r_obj_hits(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -752,7 +756,7 @@ VRT_r_obj_hits(VRT_CTX)
return (ctx->req->is_hit ? ctx->req->objcore->hits : 0);
}
-unsigned
+VCL_BOOL
VRT_r_obj_uncacheable(VRT_CTX)
{
@@ -764,7 +768,7 @@ VRT_r_obj_uncacheable(VRT_CTX)
/*--------------------------------------------------------------------*/
-unsigned
+VCL_BOOL
VRT_r_resp_is_streaming(VRT_CTX)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -777,8 +781,8 @@ VRT_r_resp_is_streaming(VRT_CTX)
/*--------------------------------------------------------------------*/
-void
-VRT_l_resp_do_esi(VRT_CTX, unsigned process_esi)
+VCL_VOID
+VRT_l_resp_do_esi(VRT_CTX, VCL_BOOL process_esi)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
@@ -791,7 +795,7 @@ VRT_l_resp_do_esi(VRT_CTX, unsigned process_esi)
ctx->req->disable_esi = !process_esi;
}
-unsigned
+VCL_BOOL
VRT_r_resp_do_esi(VRT_CTX)
{
@@ -804,7 +808,7 @@ VRT_r_resp_do_esi(VRT_CTX)
/*--------------------------------------------------------------------*/
#define VRT_BODY_L(which) \
-void \
+VCL_VOID \
VRT_l_##which##_body(VRT_CTX, const char *str, ...) \
{ \
va_list ap; \
@@ -847,7 +851,7 @@ VRT_r_bereq_hash(VRT_CTX)
/*--------------------------------------------------------------------*/
#define HTTP_VAR(x) \
-struct http * \
+VCL_HTTP \
VRT_r_##x(VRT_CTX) \
{ \
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC); \
More information about the varnish-commit
mailing list