nginx-0.0.1-2003-10-22-20:38:26 import
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 455b785..538adff 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -164,3 +164,44 @@
 
     return ngx_temp_number++;
 }
+
+
+char *ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+{
+    char  *p = conf;
+
+    int          i, n;
+    ngx_str_t   *value;
+    ngx_path_t  *path, **pp;
+
+    pp = (ngx_path_t **) (p + cmd->offset);
+
+    if (*pp) {
+        return "is duplicate";
+    }
+
+    ngx_test_null(path, ngx_pcalloc(cf->pool, sizeof(ngx_path_t)), NULL);
+
+    *pp = path;
+
+    value = (ngx_str_t *) cf->args->elts;
+
+    path->name = value[1];
+
+    path->len = 0;
+
+    for (i = 0, n = 2; n < cf->args->nelts; i++, n++) {
+        path->level[i] = ngx_atoi(value[n].data, value[n].len);
+        if (path->level[i] == NGX_ERROR || path->level[i] == 0) {
+            return "invalid value";
+        }
+
+        path->len += path->level[i] + 1;
+    }
+
+    while (i < 3) {
+        path->level[i++] = 0;
+    }
+
+    return NULL;
+}