[master] becd087 Slap a magic number in struct VUT
Dridi Boukelmoune
dridi.boukelmoune at gmail.com
Wed Sep 13 22:21:05 UTC 2017
commit becd087db892b41c1326ca5c0d1f0de06ca7215c
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Tue Sep 12 00:04:27 2017 +0200
Slap a magic number in struct VUT
diff --git a/bin/varnishlog/varnishlog.c b/bin/varnishlog/varnishlog.c
index 60f46f9..bc0c352 100644
--- a/bin/varnishlog/varnishlog.c
+++ b/bin/varnishlog/varnishlog.c
@@ -122,7 +122,7 @@ sighup(struct VUT *v)
static void
vut_sighandler(int sig)
{
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
VUT_Signaled(vut, sig);
}
diff --git a/bin/varnishncsa/varnishncsa.c b/bin/varnishncsa/varnishncsa.c
index 979e598..18eec35 100644
--- a/bin/varnishncsa/varnishncsa.c
+++ b/bin/varnishncsa/varnishncsa.c
@@ -1117,7 +1117,7 @@ sighup(struct VUT *v)
static void
vut_sighandler(int sig)
{
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
VUT_Signaled(vut, sig);
}
diff --git a/bin/varnishtop/varnishtop.c b/bin/varnishtop/varnishtop.c
index 09d939f..1282806 100644
--- a/bin/varnishtop/varnishtop.c
+++ b/bin/varnishtop/varnishtop.c
@@ -45,6 +45,7 @@
#define VOPT_DEFINITION
#define VOPT_INC "varnishtop_options.h"
+#include "miniobj.h"
#include "vcurses.h"
#include "vapi/vsl.h"
#include "vapi/vsm.h"
@@ -190,7 +191,7 @@ sighup(struct VUT *v)
static void
vut_sighandler(int sig)
{
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
VUT_Signaled(vut, sig);
}
diff --git a/include/vut.h b/include/vut.h
index 1097700..0d731cf 100644
--- a/include/vut.h
+++ b/include/vut.h
@@ -37,6 +37,8 @@ typedef int VUT_cb_f(struct VUT *);
typedef void VUT_error_f(struct VUT *, int, const char *, va_list);
struct VUT {
+ unsigned magic;
+#define VUT_MAGIC 0xdf3b3de8
const char *progname;
/* Options */
diff --git a/lib/libvarnishapi/vut.c b/lib/libvarnishapi/vut.c
index fe8e815..9845470 100644
--- a/lib/libvarnishapi/vut.c
+++ b/lib/libvarnishapi/vut.c
@@ -87,8 +87,8 @@ vut_dispatch(struct VSL_data *vsl, struct VSL_transaction * const trans[],
struct VUT *vut;
int i;
- vut = priv;
- AN(vut);
+ CAST_OBJ_NOTNULL(vut, priv, VUT_MAGIC);
+
if (vut->k_arg == 0)
return (-1); /* End of file */
AN(vut->dispatch_f);
@@ -105,7 +105,7 @@ static void __attribute__((__noreturn__)) __match_proto__(VUT_error_f)
vut_error(struct VUT *vut, int status, const char *fmt, va_list ap)
{
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
AN(fmt);
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
@@ -202,7 +202,7 @@ VUT_Init(const char *progname, int argc, char * const *argv,
AN(argv);
AN(voc);
- vut = calloc(1, sizeof *vut);
+ ALLOC_OBJ(vut, VUT_MAGIC);
AN(vut);
if (argc == 2 && !strcmp(argv[1], "--synopsis"))
@@ -235,7 +235,7 @@ void
VUT_Signaled(struct VUT *vut, int sig)
{
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
vut->sighup |= (sig == SIGHUP);
vut->sigint |= (sig == SIGINT || sig == SIGTERM);
vut->sigusr1 |= (sig == SIGUSR1);
@@ -246,7 +246,7 @@ VUT_Setup(struct VUT *vut)
{
struct VSL_cursor *c;
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
AN(vut->vsl);
AZ(vut->vsm);
AZ(vut->vslq);
@@ -307,11 +307,7 @@ VUT_Fini(struct VUT **vutp)
{
struct VUT *vut;
- AN(vutp);
- vut = *vutp;
- *vutp = NULL;
-
- AN(vut);
+ TAKE_OBJ_NOTNULL(vut, vutp, VUT_MAGIC);
AN(vut->progname);
free(vut->n_arg);
@@ -331,7 +327,7 @@ VUT_Fini(struct VUT **vutp)
VSM_Destroy(&vut->vsm);
memset(vut, 0, sizeof *vut);
- free(vut);
+ FREE_OBJ(vut);
}
int
@@ -341,7 +337,7 @@ VUT_Main(struct VUT *vut)
int i = -1;
int hascursor = -1;
- AN(vut);
+ CHECK_OBJ_NOTNULL(vut, VUT_MAGIC);
AN(vut->vslq);
while (!vut->sigint) {
More information about the varnish-commit
mailing list