mirror of
https://github.com/nginx/nginx.git
synced 2024-12-19 21:53:31 -06:00
%*s format
This commit is contained in:
parent
f3b0e49069
commit
79d9a042a2
@ -63,6 +63,7 @@ ngx_pstrdup(ngx_pool_t *pool, ngx_str_t *src)
|
|||||||
* %V ngx_str_t *
|
* %V ngx_str_t *
|
||||||
* %v ngx_variable_value_t *
|
* %v ngx_variable_value_t *
|
||||||
* %s null-terminated string
|
* %s null-terminated string
|
||||||
|
* %*s length and string
|
||||||
* %Z '\0'
|
* %Z '\0'
|
||||||
* %N '\n'
|
* %N '\n'
|
||||||
* %c char
|
* %c char
|
||||||
@ -112,7 +113,7 @@ ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args)
|
|||||||
* but icc issues the warning
|
* but icc issues the warning
|
||||||
*/
|
*/
|
||||||
int d;
|
int d;
|
||||||
size_t len;
|
size_t len, slen;
|
||||||
uint32_t ui32;
|
uint32_t ui32;
|
||||||
int64_t i64;
|
int64_t i64;
|
||||||
uint64_t ui64;
|
uint64_t ui64;
|
||||||
@ -146,6 +147,7 @@ ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args)
|
|||||||
sign = 1;
|
sign = 1;
|
||||||
hexadecimal = 0;
|
hexadecimal = 0;
|
||||||
max_width = 0;
|
max_width = 0;
|
||||||
|
slen = 0;
|
||||||
|
|
||||||
p = temp + NGX_INT64_LEN;
|
p = temp + NGX_INT64_LEN;
|
||||||
|
|
||||||
@ -179,6 +181,11 @@ ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args)
|
|||||||
fmt++;
|
fmt++;
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
case '*':
|
||||||
|
slen = va_arg(args, u_int);
|
||||||
|
fmt++;
|
||||||
|
continue;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -214,9 +221,15 @@ ngx_vsnprintf(u_char *buf, size_t max, const char *fmt, va_list args)
|
|||||||
case 's':
|
case 's':
|
||||||
p = va_arg(args, u_char *);
|
p = va_arg(args, u_char *);
|
||||||
|
|
||||||
|
if (slen == 0) {
|
||||||
while (*p && buf < last) {
|
while (*p && buf < last) {
|
||||||
*buf++ = *p++;
|
*buf++ = *p++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
buf = ngx_cpymem(buf, p, slen);
|
||||||
|
}
|
||||||
|
|
||||||
fmt++;
|
fmt++;
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user