[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