diff --git a/src/core/ngx_config_file.c b/src/core/ngx_config_file.c index b2b4b8104..d161c5467 100644 --- a/src/core/ngx_config_file.c +++ b/src/core/ngx_config_file.c @@ -183,7 +183,6 @@ int ngx_conf_read_token(ngx_conf_t *cf) return NGX_ERROR; } - cf->conf_file.file.offset += n; h->pos.mem = h->start + (h->pos.mem - start); start = h->start; h->last.mem = h->pos.mem + n; diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h index d32c89bcd..e827aff0e 100644 --- a/src/core/ngx_file.h +++ b/src/core/ngx_file.h @@ -13,6 +13,8 @@ struct ngx_file_s { ngx_str_t name; ngx_file_info_t info; + off_t offset; + ngx_log_t *log; unsigned info_valid:1; diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c index 7a5caa507..c9e62b2b7 100644 --- a/src/os/unix/ngx_files.c +++ b/src/os/unix/ngx_files.c @@ -16,6 +16,8 @@ ssize_t ngx_read_file(ngx_file_t *file, char *buf, size_t size, off_t offset) return NGX_ERROR; } + file->offset += n; + return n; } diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c index ce0d3dda0..47bf56dc5 100644 --- a/src/os/win32/ngx_files.c +++ b/src/os/win32/ngx_files.c @@ -12,5 +12,7 @@ ssize_t ngx_read_file(ngx_file_t *file, char *buf, size_t size, off_t offset) return NGX_ERROR; } + file->offset += n; + return n; }