[master] 87921c1 Constify return from ObjGetattr

Martin Blix Grydeland martin at varnish-software.com
Tue Feb 23 17:44:46 CET 2016


commit 87921c1bf31e35da0eff19309a421d6fd794f916
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date:   Wed Feb 17 20:34:24 2016 +0100

    Constify return from ObjGetattr
    
    This is to make it clear that one can not change an object attribute
    through the returned pointer from ObjGetattr()

diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 42bd867..d288bab 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -869,7 +869,7 @@ uint64_t ObjGetLen(struct worker *, struct objcore *);
 void ObjFreeObj(struct worker *, struct objcore *);
 void ObjSlim(struct worker *, struct objcore *);
 int ObjHasAttr(struct worker *, struct objcore *, enum obj_attr);
-void *ObjGetAttr(struct worker *, struct objcore *, enum obj_attr,
+const void *ObjGetAttr(struct worker *, struct objcore *, enum obj_attr,
     ssize_t *len);
 void *ObjSetAttr(struct worker *, struct objcore *, enum obj_attr,
     ssize_t len, const void *);
diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index e6eb949..bbed50d 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -54,8 +54,8 @@ static const uint8_t gzip_hdr[] = {
 struct ecx {
 	unsigned	magic;
 #define ECX_MAGIC	0x0b0f9163
-	uint8_t		*p;
-	uint8_t		*e;
+	const uint8_t	*p;
+	const uint8_t	*e;
 	int		state;
 	ssize_t		l;
 	int		isgzip;
@@ -191,9 +191,9 @@ ved_include(struct req *preq, const char *src, const char *host,
 #define Debug(fmt, ...) /**/
 
 static ssize_t
-ved_decode_len(struct req *req, uint8_t **pp)
+ved_decode_len(struct req *req, const uint8_t **pp)
 {
-	uint8_t *p;
+	const uint8_t *p;
 	ssize_t l;
 
 	p = *pp;
@@ -675,7 +675,7 @@ static void
 ved_stripgzip(struct req *req, const struct boc *boc)
 {
 	ssize_t l;
-	char *p;
+	const char *p;
 	uint32_t icrc;
 	uint32_t ilen;
 	uint8_t *dbits;
diff --git a/bin/varnishd/cache/cache_gzip.c b/bin/varnishd/cache/cache_gzip.c
index 98523a0..97082db 100644
--- a/bin/varnishd/cache/cache_gzip.c
+++ b/bin/varnishd/cache/cache_gzip.c
@@ -285,7 +285,7 @@ VDP_gunzip(struct req *req, enum vdp_action act, void **priv,
 	const void *dp;
 	struct worker *wrk;
 	struct vgz *vg;
-	char *p;
+	const char *p;
 	uint64_t u;
 
 	CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
diff --git a/bin/varnishd/cache/cache_hash.c b/bin/varnishd/cache/cache_hash.c
index 797677b..117204b 100644
--- a/bin/varnishd/cache/cache_hash.c
+++ b/bin/varnishd/cache/cache_hash.c
@@ -320,7 +320,7 @@ HSH_Lookup(struct req *req, struct objcore **ocp, struct objcore **bocp,
 	double exp_t_origin;
 	int busy_found;
 	enum lookup_e retval;
-	uint8_t *vary;
+	const uint8_t *vary;
 
 	AN(ocp);
 	*ocp = NULL;
diff --git a/bin/varnishd/cache/cache_obj.c b/bin/varnishd/cache/cache_obj.c
index a930fc9..13f814a 100644
--- a/bin/varnishd/cache/cache_obj.c
+++ b/bin/varnishd/cache/cache_obj.c
@@ -371,7 +371,7 @@ ObjHasAttr(struct worker *wrk, struct objcore *oc, enum obj_attr attr)
  * Get an attribute of the object.
  */
 
-void *
+const void *
 ObjGetAttr(struct worker *wrk, struct objcore *oc, enum obj_attr attr,
    ssize_t *len)
 {
@@ -427,7 +427,8 @@ int
 ObjCopyAttr(struct worker *wrk, struct objcore *oc, struct objcore *ocs,
     enum obj_attr attr)
 {
-	void *vps, *vpd;
+	const void *vps;
+	void *vpd;
 	ssize_t l;
 
 	CHECK_OBJ_NOTNULL(wrk, WORKER_MAGIC);
@@ -480,7 +481,7 @@ ObjSetDouble(struct worker *wrk, struct objcore *oc, enum obj_attr a, double t)
 int
 ObjGetDouble(struct worker *wrk, struct objcore *oc, enum obj_attr a, double *d)
 {
-	void *vp;
+	const void *vp;
 	uint64_t u;
 	ssize_t l;
 
@@ -514,7 +515,7 @@ ObjSetU64(struct worker *wrk, struct objcore *oc, enum obj_attr a, uint64_t t)
 int
 ObjGetU64(struct worker *wrk, struct objcore *oc, enum obj_attr a, uint64_t *d)
 {
-	void *vp;
+	const void *vp;
 	ssize_t l;
 
 	vp = ObjGetAttr(wrk, oc, a, &l);
@@ -540,7 +541,7 @@ ObjSetU32(struct worker *wrk, struct objcore *oc, enum obj_attr a, uint32_t t)
 int
 ObjGetU32(struct worker *wrk, struct objcore *oc, enum obj_attr a, uint32_t *d)
 {
-	void *vp;
+	const void *vp;
 	ssize_t l;
 
 	vp = ObjGetAttr(wrk, oc, a, &l);
@@ -557,7 +558,7 @@ ObjGetU32(struct worker *wrk, struct objcore *oc, enum obj_attr a, uint32_t *d)
 int
 ObjCheckFlag(struct worker *wrk, struct objcore *oc, enum obj_flags of)
 {
-	uint8_t *fp;
+	const uint8_t *fp;
 
 	fp = ObjGetAttr(wrk, oc, OA_FLAGS, NULL);
 	AN(fp);
diff --git a/bin/varnishd/cache/cache_obj.h b/bin/varnishd/cache/cache_obj.h
index 0b0e2ca..45f7e61 100644
--- a/bin/varnishd/cache/cache_obj.h
+++ b/bin/varnishd/cache/cache_obj.h
@@ -43,7 +43,7 @@ typedef void objextend_f(struct worker *, struct objcore *, ssize_t l);
 typedef void objtrimstore_f(struct worker *, struct objcore *);
 typedef void objstable_f(struct worker *, struct objcore *, struct boc *);
 typedef void objslim_f(struct worker *, struct objcore *);
-typedef void *objgetattr_f(struct worker *, struct objcore *,
+typedef const void *objgetattr_f(struct worker *, struct objcore *,
     enum obj_attr attr, ssize_t *len);
 typedef void *objsetattr_f(struct worker *, struct objcore *,
     enum obj_attr attr, ssize_t len, const void *ptr);
diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index f985719..f2f2111 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -476,7 +476,7 @@ sml_stable(struct worker *wrk, struct objcore *oc, struct boc *boc)
 		LRU_Add(oc, wrk->lastused);	// approx timestamp is OK
 }
 
-static void * __match_proto__(objgetattr_f)
+static const void * __match_proto__(objgetattr_f)
 sml_getattr(struct worker *wrk, struct objcore *oc, enum obj_attr attr,
    ssize_t *len)
 {



More information about the varnish-commit mailing list