Skip to content

Commit 68809c9

Browse files
committed
cleaned up the code in base32.c to fix a warning when building with gcc -O3.
1 parent 8db33ef commit 68809c9

File tree

1 file changed

+16
-17
lines changed

1 file changed

+16
-17
lines changed

src/ngx_http_set_base32.c

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
#define base32_decoded_length(len) ((((len)+7)/8)*5)
99

1010

11-
static void encode_base32(int slen, const char *src, int *dlen, char *dst);
12-
static int decode_base32(int slen, const char *src, int *dlen, char *dst);
11+
static void encode_base32(size_t slen, u_char *src, size_t *dlen, u_char *dst);
12+
static int decode_base32(size_t slen, u_char *src, size_t *dlen, u_char *dst);
1313

1414

1515
ngx_int_t
@@ -31,7 +31,7 @@ ngx_http_set_misc_encode_base32(ngx_http_request_t *r,
3131

3232
src = v->data; dst = p;
3333

34-
encode_base32((int)v->len, (const char *)src, (int *)&len, (char *)dst);
34+
encode_base32(v->len, src, &len, dst);
3535

3636
res->data = p;
3737
res->len = len;
@@ -62,8 +62,7 @@ ngx_http_set_misc_decode_base32(ngx_http_request_t *r,
6262

6363
src = v->data; dst = p;
6464

65-
ret = decode_base32((int)v->len, (const char *)src, (int *)&len,
66-
(char *)dst);
65+
ret = decode_base32(v->len, src, &len, dst);
6766

6867
if (ret == 0 /* OK */) {
6968
res->data = p;
@@ -103,17 +102,17 @@ ngx_http_set_misc_decode_base32(ngx_http_request_t *r,
103102
* @param dst 目标数据串指针, 保存 Base32 编码后数据.
104103
* */
105104
static void
106-
encode_base32(int slen, const char *src, int *dlen, char *dst)
105+
encode_base32(size_t slen, u_char *src, size_t *dlen, u_char *dst)
107106
{
108107
static unsigned char basis32[] = "0123456789abcdefghijklmnopqrstuv";
109108

110-
int len;
111-
const unsigned char *s;
112-
unsigned char *d;
109+
size_t len;
110+
u_char *s;
111+
u_char *d;
113112

114113
len = slen;
115-
s = (const unsigned char*)src;
116-
d = (unsigned char*)dst;
114+
s = src;
115+
d = dst;
117116

118117
while (len > 4) {
119118
*d++ = basis32[s[0] >> 3];
@@ -178,12 +177,12 @@ encode_base32(int slen, const char *src, int *dlen, char *dst)
178177
*d++ = '=';
179178
}
180179

181-
*dlen = d - (unsigned char*)dst;
180+
*dlen = (size_t) (d - dst);
182181
}
183182

184183

185184
static int
186-
decode_base32(int slen, const char *src, int *dlen, char *dst)
185+
decode_base32(size_t slen, u_char *src, size_t *dlen, u_char *dst)
187186
{
188187
static unsigned char basis32[] = {
189188
/* 0 - 15 */
@@ -235,9 +234,9 @@ decode_base32(int slen, const char *src, int *dlen, char *dst)
235234
77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77
236235
};
237236

238-
int len, mod;
239-
const unsigned char *s = (const unsigned char*)src;
240-
unsigned char *d = (unsigned char*)dst;
237+
size_t len, mod;
238+
u_char *s = src;
239+
u_char *d = dst;
241240

242241
for (len = 0; len < slen; len++) {
243242
if (s[len] == '=') {
@@ -296,7 +295,7 @@ decode_base32(int slen, const char *src, int *dlen, char *dst)
296295
}
297296
}
298297

299-
*dlen = d - (unsigned char*)dst;
298+
*dlen = (size_t) (d - dst);
300299

301300
return 0;
302301
}

0 commit comments

Comments
 (0)