aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-12-17 21:29:34 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-12-17 21:29:34 +0000
commit00cbb8a16e09e31b9753b777135e7d73bf1c760e (patch)
tree92daf1f4435ea414539b1579c7b99f704934f0fa /src
parent3b112b8c219cf3b7881e0045f904925397f24ef8 (diff)
downloadnginx-00cbb8a16e09e31b9753b777135e7d73bf1c760e.tar.gz
nginx-00cbb8a16e09e31b9753b777135e7d73bf1c760e.zip
ngx_create_hashed_filename() does not need ngx_file_t
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_file.c31
-rw-r--r--src/core/ngx_file.h2
2 files changed, 16 insertions, 17 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 0783096df..afc62572f 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -70,7 +70,10 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
(void) ngx_sprintf(file->name.data + path->name.len + 1 + path->len,
"%010uD%Z", n);
- ngx_create_hashed_filename(file, path);
+ ngx_create_hashed_filename(path, file->name.data, file->name.len);
+
+ ngx_log_debug1(NGX_LOG_DEBUG_CORE, file->log, 0,
+ "hashed path: %s", file->name.data);
file->fd = ngx_open_tempfile(file->name.data, persistent, access);
@@ -117,31 +120,27 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
void
-ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path)
+ngx_create_hashed_filename(ngx_path_t *path, u_char *file, size_t len)
{
- size_t name, pos, level;
- ngx_uint_t i;
+ size_t i, level;
+ ngx_uint_t n;
- name = file->name.len;
- pos = path->name.len + 1;
+ i = path->name.len + 1;
- file->name.data[path->name.len + path->len] = '/';
+ file[path->name.len + path->len] = '/';
- for (i = 0; i < 3; i++) {
- level = path->level[i];
+ for (n = 0; n < 3; n++) {
+ level = path->level[n];
if (level == 0) {
break;
}
- name -= level;
- file->name.data[pos - 1] = '/';
- ngx_memcpy(&file->name.data[pos], &file->name.data[name], level);
- pos += level + 1;
+ len -= level;
+ file[i - 1] = '/';
+ ngx_memcpy(&file[i], &file[len], level);
+ i += level + 1;
}
-
- ngx_log_debug1(NGX_LOG_DEBUG_CORE, file->log, 0,
- "hashed path: %s", file->name.data);
}
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h
index c39059d30..61089ff34 100644
--- a/src/core/ngx_file.h
+++ b/src/core/ngx_file.h
@@ -84,7 +84,7 @@ ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain);
ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path,
ngx_pool_t *pool, ngx_uint_t persistent, ngx_uint_t clean,
ngx_uint_t access);
-void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path);
+void ngx_create_hashed_filename(ngx_path_t *path, u_char *file, size_t len);
ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path);
ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access);
ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot);