ngx_int_t
ngx_hextoi(u_char *line, size_t n)
{
u_char c, ch;
ngx_int_t value, cutoff;
if (n == 0) {
return NGX_ERROR;
}
cutoff = NGX_MAX_INT_T_VALUE / 16;
for (value = 0; n--; line++) {
if (value > cutoff) {
return NGX_ERROR;
}
ch = *line;
if (ch >= '0' && ch <= '9') {
value = value * 16 + (ch - '0');
continue;
}
c = (u_char) (ch | 0x20);
if (c >= 'a' && c <= 'f') {
value = value * 16 + (c - 'a' + 10);
continue;
}
return NGX_ERROR;
}
return value;
}
16进制字符串转10进制整形
最新推荐文章于 2023-03-12 15:19:35 发布