From: Willy Tarreau Date: Thu, 19 Oct 2017 12:58:40 +0000 (+0200) Subject: MINOR: channel: make the channel be a const in all {ci,co}_get* functions X-Git-Tag: v1.8-dev3~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41ab86898e4e14b61fd2e1a35effdff9ab4fb4a2;p=thirdparty%2Fhaproxy.git MINOR: channel: make the channel be a const in all {ci,co}_get* functions There's no point having the channel marked writable as these functions only extract data from the channel. The code was retrieved from their ci/co ancestors. --- diff --git a/include/proto/channel.h b/include/proto/channel.h index 51c6976382..9e12b5efc4 100644 --- a/include/proto/channel.h +++ b/include/proto/channel.h @@ -48,13 +48,13 @@ unsigned long long __channel_forward(struct channel *chn, unsigned long long byt int ci_putblk(struct channel *chn, const char *str, int len); struct buffer *ci_swpbuf(struct channel *chn, struct buffer *buf); int ci_putchr(struct channel *chn, char c); -int ci_getline_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); -int ci_getblk_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); +int ci_getline_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); +int ci_getblk_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); int co_inject(struct channel *chn, const char *msg, int len); -int co_getline(struct channel *chn, char *str, int len); -int co_getblk(struct channel *chn, char *blk, int len, int offset); -int co_getline_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); -int co_getblk_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); +int co_getline(const struct channel *chn, char *str, int len); +int co_getblk(const struct channel *chn, char *blk, int len, int offset); +int co_getline_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); +int co_getblk_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2); /* returns a pointer to the stream the channel belongs to */ @@ -139,7 +139,7 @@ static inline void channel_forward_forever(struct channel *chn) * jump-less and much more efficient on both 32 and 64-bit than * the boolean test. */ -static inline unsigned int channel_is_empty(struct channel *c) +static inline unsigned int channel_is_empty(const struct channel *c) { return !(c->buf->o | (long)c->pipe); } diff --git a/src/channel.c b/src/channel.c index 62b3ffb6c8..bd5c4de04f 100644 --- a/src/channel.c +++ b/src/channel.c @@ -241,7 +241,7 @@ struct buffer *ci_swpbuf(struct channel *chn, struct buffer *buf) * output are full. If either of them is full, the string may be returned * as is, without the '\n'. */ -int co_getline(struct channel *chn, char *str, int len) +int co_getline(const struct channel *chn, char *str, int len) { int ret, max; char *p; @@ -290,7 +290,7 @@ int co_getline(struct channel *chn, char *str, int len) * The channel status is not changed. The caller must call co_skip() to * update it. */ -int co_getblk(struct channel *chn, char *blk, int len, int offset) +int co_getblk(const struct channel *chn, char *blk, int len, int offset) { if (chn->flags & CF_SHUTW) return -1; @@ -312,7 +312,7 @@ int co_getblk(struct channel *chn, char *blk, int len, int offset) * The channel status is not changed. The caller must call co_skip() to * update it. Unused buffers are left in an undefined state. */ -int co_getblk_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int *len2) +int co_getblk_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2) { if (unlikely(chn->buf->o == 0)) { if (chn->flags & CF_SHUTW) @@ -332,7 +332,7 @@ int co_getblk_nc(struct channel *chn, char **blk1, int *len1, char **blk2, int * * full. If either of them is full, the string may be returned as is, without * the '\n'. Unused buffers are left in an undefined state. */ -int co_getline_nc(struct channel *chn, +int co_getline_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2) { @@ -376,7 +376,7 @@ int co_getline_nc(struct channel *chn, * =0 : not enough data available. * <0 : no more bytes readable because input is shut. */ -int ci_getblk_nc(struct channel *chn, +int ci_getblk_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2) { @@ -408,7 +408,7 @@ int ci_getblk_nc(struct channel *chn, * full. If either of them is full, the string may be returned as is, without * the '\n'. Unused buffers are left in an undefined state. */ -int ci_getline_nc(struct channel *chn, +int ci_getline_nc(const struct channel *chn, char **blk1, int *len1, char **blk2, int *len2) {