nginx-0.0.1-2003-10-22-20:38:26 import
diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index c26aa17..70da2dc 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -6,10 +6,20 @@
 
 #define MAX_CONF_ERRSTR  256
 
+/* Ten fixed arguments */
+
 static int argument_number[] = {
     NGX_CONF_NOARGS,
     NGX_CONF_TAKE1,
-    NGX_CONF_TAKE2
+    NGX_CONF_TAKE2,
+    NGX_CONF_TAKE3,
+    NGX_CONF_TAKE4,
+    NGX_CONF_TAKE5,
+    NGX_CONF_TAKE6,
+    NGX_CONF_TAKE7,
+    NGX_CONF_TAKE8,
+    NGX_CONF_TAKE9,
+    NGX_CONF_TAKE10
 };
 
 static int ngx_conf_read_token(ngx_conf_t *cf);
@@ -146,17 +156,9 @@
 
                     /* is the directive's argument count right ? */
 
-                    if (cmd->type & argument_number[cf->args->nelts - 1]) {
+                    if (cmd->type & NGX_CONF_ANY) {
                         valid = 1;
 
-                    } else if (cmd->type & NGX_CONF_1MORE) {
-
-                        if (cf->args->nelts != 1) {
-                            valid = 1;
-                        } else {
-                            valid = 0;
-                        }
-
                     } else if (cmd->type & NGX_CONF_FLAG) {
 
                         if (cf->args->nelts == 2) {
@@ -165,7 +167,18 @@
                             valid = 0;
                         }
 
-                    } else if (cmd->type & NGX_CONF_ANY) {
+                    } else if (cmd->type & NGX_CONF_1MORE) {
+
+                        if (cf->args->nelts != 1) {
+                            valid = 1;
+                        } else {
+                            valid = 0;
+                        }
+
+                    } else if (cf->args->nelts <= 10
+                               && (cmd->type
+                                   & argument_number[cf->args->nelts - 1]))
+                    {
                         valid = 1;
 
                     } else {
@@ -573,8 +586,7 @@
 
     value = (ngx_str_t *) cf->args->elts;
 
-    field->len = value[1].len;
-    field->data = value[1].data;
+    *field = value[1];
 
     return NGX_CONF_OK;
 }