From c9f9d64a2c1b90de08d34d52feb4068c28892fed Mon Sep 17 00:00:00 2001 From: des Date: Tue, 1 May 2007 17:55:31 +0000 Subject: [PATCH] Two minor logging fixes: - change the type of vsl_handler()'s tag argument from unsigned int to enum shmlogtag to allow gcc to check switch statements and gdb to show its value by name rather than by number. - fix the "missing newline after VCL_call" bug in varnishlog (#95) git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@1372 d4fa192b-c00b-0410-8231-f00ffab90ce4 --- varnish-cache/bin/varnishhist/varnishhist.c | 2 +- varnish-cache/bin/varnishlog/varnishlog.c | 4 ++-- varnish-cache/bin/varnishncsa/varnishncsa.c | 2 +- varnish-cache/include/varnishapi.h | 4 +++- varnish-cache/lib/libvarnishapi/shmlog.c | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/varnish-cache/bin/varnishhist/varnishhist.c b/varnish-cache/bin/varnishhist/varnishhist.c index 42e63e89..731ccfb7 100644 --- a/varnish-cache/bin/varnishhist/varnishhist.c +++ b/varnish-cache/bin/varnishhist/varnishhist.c @@ -112,7 +112,7 @@ r_hist(void) } static int -h_hist(void *priv, unsigned tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) +h_hist(void *priv, enum shmlogtag tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) { double b; int i, j; diff --git a/varnish-cache/bin/varnishlog/varnishlog.c b/varnish-cache/bin/varnishlog/varnishlog.c index ab51b9df..b146e103 100644 --- a/varnish-cache/bin/varnishlog/varnishlog.c +++ b/varnish-cache/bin/varnishlog/varnishlog.c @@ -94,7 +94,7 @@ clean_order(void) } static int -h_order(void *priv, unsigned tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) +h_order(void *priv, enum shmlogtag tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) { (void)priv; @@ -114,7 +114,7 @@ h_order(void *priv, unsigned tag, unsigned fd, unsigned len, unsigned spec, cons switch (tag) { case SLT_VCL_call: flg[fd] |= F_INVCL; - vsb_printf(ob[fd], "%5d %-12s %c %.*s", + vsb_printf(ob[fd], "%5d %-12s %c %.*s\n", fd, VSL_tags[tag], ((spec & VSL_S_CLIENT) ? 'c' : \ (spec & VSL_S_BACKEND) ? 'b' : '-'), diff --git a/varnish-cache/bin/varnishncsa/varnishncsa.c b/varnish-cache/bin/varnishncsa/varnishncsa.c index b04ebb8d..a2596b87 100644 --- a/varnish-cache/bin/varnishncsa/varnishncsa.c +++ b/varnish-cache/bin/varnishncsa/varnishncsa.c @@ -164,7 +164,7 @@ trimline(const char *str, const char *end) } static int -h_ncsa(void *priv, unsigned tag, unsigned fd, +h_ncsa(void *priv, enum shmlogtag tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) { const char *end, *next; diff --git a/varnish-cache/include/varnishapi.h b/varnish-cache/include/varnishapi.h index 2c27bed6..340329b5 100644 --- a/varnish-cache/include/varnishapi.h +++ b/varnish-cache/include/varnishapi.h @@ -32,6 +32,8 @@ #ifndef VARNISHAPI_H_INCLUDED #define VARNISHAPI_H_INCLUDED +#include "shmlog.h" + #define V_DEAD __attribute__ ((noreturn)) /* base64.c */ @@ -39,7 +41,7 @@ void base64_init(void); int base64_decode(char *d, unsigned dlen, const char *s); /* shmlog.c */ -typedef int vsl_handler(void *priv, unsigned tag, unsigned fd, unsigned len, unsigned spec, const char *ptr); +typedef int vsl_handler(void *priv, enum shmlogtag tag, unsigned fd, unsigned len, unsigned spec, const char *ptr); #define VSL_S_CLIENT (1 << 0) #define VSL_S_BACKEND (1 << 1) #define VSL_ARGS "bCcdI:i:r:X:x:" diff --git a/varnish-cache/lib/libvarnishapi/shmlog.c b/varnish-cache/lib/libvarnishapi/shmlog.c index 4fe1e89f..3b92e13d 100644 --- a/varnish-cache/lib/libvarnishapi/shmlog.c +++ b/varnish-cache/lib/libvarnishapi/shmlog.c @@ -326,7 +326,7 @@ VSL_Dispatch(struct VSL_data *vd, vsl_handler *func, void *priv) /*--------------------------------------------------------------------*/ int -VSL_H_Print(void *priv, unsigned tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) +VSL_H_Print(void *priv, enum shmlogtag tag, unsigned fd, unsigned len, unsigned spec, const char *ptr) { FILE *fo = priv; -- 2.39.5