]> err.no Git - varnish/commitdiff
Polish shmlog:
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 25 Sep 2007 06:56:23 +0000 (06:56 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 25 Sep 2007 06:56:23 +0000 (06:56 +0000)
The id argument is a file descriptor, so it should be typed "int".
We must have a fmt argument.
Use pdiff.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2017 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/shmlog.c

index 7e9cef55fe88b645b5a5cd10cb8d41ddbd24cdc8..56b9c77c68dd3762865e72d474e5ac7c8c6a08ee 100644 (file)
@@ -508,10 +508,10 @@ void SES_Charge(struct sess *sp);
 
 void VSL_Init(void);
 #ifdef SHMLOGHEAD_MAGIC
-void VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e);
-void VSL(enum shmlogtag tag, unsigned id, const char *fmt, ...);
-void WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const char *e);
-void WSL(struct worker *w, enum shmlogtag tag, unsigned id, const char *fmt, ...);
+void VSLR(enum shmlogtag tag, int id, const char *b, const char *e);
+void VSL(enum shmlogtag tag, int id, const char *fmt, ...);
+void WSLR(struct worker *w, enum shmlogtag tag, int id, const char *b, const char *e);
+void WSL(struct worker *w, enum shmlogtag tag, int id, const char *fmt, ...);
 void WSL_Flush(struct worker *w);
 #define INCOMPL() do {                                                 \
        VSL(SLT_Debug, 0, "INCOMPLETE AT: %s(%d)", __func__, __LINE__); \
index 7e11cee54b0ced4fc52fdb9e828d55c78774151b..23a011729a92864d82ec862a24324cc86de2b3b5 100644 (file)
@@ -83,7 +83,7 @@ vsl_wrap(void)
 /*--------------------------------------------------------------------*/
 
 void
-VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e)
+VSLR(enum shmlogtag tag, int id, const char *b, const char *e)
 {
        unsigned char *p;
        unsigned l;
@@ -93,7 +93,7 @@ VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e)
                e = strchr(b, '\0');
 
        /* Truncate */
-       l = e - b;
+       l = pdiff(b, e);
        if (l > 255) {
                l = 255;
                e = b + l;
@@ -126,12 +126,13 @@ VSLR(enum shmlogtag tag, unsigned id, const char *b, const char *e)
 /*--------------------------------------------------------------------*/
 
 void
-VSL(enum shmlogtag tag, unsigned id, const char *fmt, ...)
+VSL(enum shmlogtag tag, int id, const char *fmt, ...)
 {
        va_list ap;
        unsigned char *p;
        unsigned n;
 
+       AN(fmt);
        va_start(ap, fmt);
 
        if (strchr(fmt, '%') == NULL) {
@@ -150,11 +151,9 @@ VSL(enum shmlogtag tag, unsigned id, const char *fmt, ...)
 
        p = logstart + loghead->ptr;
        n = 0;
-       if (fmt != NULL) {
-               n = vsnprintf((char *)(p + 4), 256, fmt, ap);
-               if (n > 255)
-                       n = 255;        /* we truncate long fields */
-       }
+       n = vsnprintf((char *)(p + 4), 256, fmt, ap);
+       if (n > 255)
+               n = 255;        /* we truncate long fields */
        p[1] = n & 0xff;
        p[2] = (id >> 8) & 0xff;
        p[3] = id & 0xff;
@@ -181,7 +180,7 @@ WSL_Flush(struct worker *w)
 
        if (w->wlp == w->wlog)
                return;
-       l = w->wlp - w->wlog;
+       l = pdiff(w->wlog, w->wlp);
        LOCKSHM(&vsl_mtx);
        VSL_stats->shm_writes++;
        VSL_stats->shm_records += w->wlr;
@@ -201,7 +200,7 @@ WSL_Flush(struct worker *w)
 /*--------------------------------------------------------------------*/
 
 void
-WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const char *e)
+WSLR(struct worker *w, enum shmlogtag tag, int id, const char *b, const char *e)
 {
        unsigned char *p;
        unsigned l;
@@ -211,7 +210,7 @@ WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const cha
                e = strchr(b, '\0');
 
        /* Truncate */
-       l = e - b;
+       l = pdiff(b, e);
        if (l > 255) {
                l = 255;
                e = b + l;
@@ -239,12 +238,13 @@ WSLR(struct worker *w, enum shmlogtag tag, unsigned id, const char *b, const cha
 /*--------------------------------------------------------------------*/
 
 void
-WSL(struct worker *w, enum shmlogtag tag, unsigned id, const char *fmt, ...)
+WSL(struct worker *w, enum shmlogtag tag, int id, const char *fmt, ...)
 {
        va_list ap;
        unsigned char *p;
        unsigned n;
 
+       AN(fmt);
        va_start(ap, fmt);
 
        if (strchr(fmt, '%') == NULL) {
@@ -260,11 +260,9 @@ WSL(struct worker *w, enum shmlogtag tag, unsigned id, const char *fmt, ...)
 
        p = w->wlp;
        n = 0;
-       if (fmt != NULL) {
-               n = vsnprintf((char *)(p + 4), 256, fmt, ap);
-               if (n > 255)
-                       n = 255;        /* we truncate long fields */
-       }
+       n = vsnprintf((char *)(p + 4), 256, fmt, ap);
+       if (n > 255)
+               n = 255;        /* we truncate long fields */
        p[1] = n & 0xff;
        p[2] = (id >> 8) & 0xff;
        p[3] = id & 0xff;