Mercurial > hg > nginx
diff src/core/ngx_string.c @ 69:e43f406e4525
nginx-0.0.1-2003-03-20-19:09:44 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Mar 2003 16:09:44 +0000 |
parents | 4eff17414a43 |
children | a7e45c45a95c |
line wrap: on
line diff
--- a/src/core/ngx_string.c +++ b/src/core/ngx_string.c @@ -1,5 +1,6 @@ #include <ngx_config.h> +#include <ngx_core.h> #include <ngx_string.h> @@ -19,3 +20,72 @@ char *ngx_cpystrn(char *dst, char *src, return dst; } + + +int ngx_atoi(char *line, size_t n) +{ + int value; + + for (value = 0; n--; line++) { + if (*line < '0' || *line > '9') { + return NGX_ERROR; + } + + value = value * 10 + (*line - '0'); + } + + return value; +} + + +#if 0 +char *ngx_psprintf(ngx_pool_t *p, const char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + + while (*fmt) { + switch(*fmt++) { + case '%': + switch(*fmt++) { + case 's': + s = va_arg(args, char *); + n += ngx_strlen(s); + break; + + default: + n++; + } + default: + n++; + } + } + + str = ngx_palloc(p, n); + + va_start(args, fmt); + + for (i = 0; i < n; i++) { + switch(*fmt++) { + case '%': + switch(*fmt++) { + case 's': + s = va_arg(args, char *); + while (str[i++] = s); + break; + + default: + n++; + } + default: + str[i] = *fmt; + } + } + + len += ngx_vsnprintf(errstr + len, sizeof(errstr) - len - 1, fmt, args); + + va_end(args); + +} +#endif