Index: ossp-pkg/var/var.c RCS File: /v/ossp/cvs/ossp-pkg/var/var.c,v rcsdiff -q -kk '-r1.18' '-r1.19' -u '/v/ossp/cvs/ossp-pkg/var/var.c,v' 2>/dev/null --- var.c 2001/11/14 12:57:56 1.18 +++ var.c 2001/11/15 15:36:05 1.19 @@ -75,7 +75,7 @@ static int tokenbuf_assign(tokenbuf_t *buf, const char *data, size_t len) { char *p; - + if ((p = malloc(len + 1)) == NULL) return 0; memcpy(p, data, len); @@ -153,7 +153,7 @@ { const char *p; size_t num; - + num = 0; for (p = number->begin; p != number->end; ++p) { num *= 10; @@ -164,7 +164,9 @@ /* Routines for the expansion of quoted-pair expressions. */ -static void expand_range(char a, char b, char class[256]) +typedef char char_class_t[256]; /* 256 == 2 ^ sizeof(unsigned char)*8 */ + +static void expand_range(char a, char b, char_class_t class) { do { class[(int)a] = 1; @@ -172,7 +174,7 @@ while (++a <= b); } -static var_rc_t expand_character_class(const char *desc, char class[256]) +static var_rc_t expand_character_class(const char *desc, char_class_t class) { size_t i; @@ -364,9 +366,9 @@ /* The recursive-descent parser for variable expressions. */ static int variable(const char *, const char *, const var_config_t *, - const char[256], var_cb_t, void *, int, tokenbuf_t *); + const char_class_t, var_cb_t, void *, int, tokenbuf_t *); static int command(const char *, const char *, const var_config_t *, - const char[256], var_cb_t, void *, int, tokenbuf_t *); + const char_class_t, var_cb_t, void *, int, tokenbuf_t *); static int text(const char *begin, const char *end, char varinit, char escape) @@ -384,7 +386,7 @@ } static int varname(const char *begin, const char *end, - const char nameclass[256]) + const char_class_t nameclass) { const char *p; for (p = begin; p != end && nameclass[(int) *p]; ++p); @@ -433,7 +435,7 @@ static int expression(const char *begin, const char *end, const var_config_t *config, - const char nameclass[256], var_cb_t lookup, + const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *result) { @@ -581,7 +583,7 @@ } static int variable(const char *begin, const char *end, - const var_config_t *config, const char nameclass[256], + const var_config_t *config, const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *result) { @@ -641,7 +643,7 @@ static int exptext_or_variable(const char *begin, const char *end, const var_config_t *config, - const char nameclass[256], var_cb_t lookup, + const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *result) { @@ -693,7 +695,7 @@ static int substext_or_variable(const char *begin, const char *end, const var_config_t *config, - const char nameclass[256], var_cb_t lookup, + const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *result) { @@ -1166,7 +1168,7 @@ } static int command(const char *begin, const char *end, - const var_config_t *config, const char nameclass[256], + const var_config_t *config, const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *data) { @@ -1502,7 +1504,7 @@ static var_rc_t input(const char *begin, const char *end, const var_config_t *config, - const char nameclass[256], var_cb_t lookup, + const char_class_t nameclass, var_cb_t lookup, void *lookup_context, int force_expand, tokenbuf_t *output) { @@ -1553,12 +1555,12 @@ var_cb_t lookup, void *lookup_context, const var_config_t *config, int force_expand) { - char nameclass[256]; + char_class_t nameclass; var_rc_t rc; tokenbuf_t output; /* Argument sanity checks */ - if (input_buf == NULL || input_len == 0 || + if (input_buf == NULL || input_len == 0 || result == NULL || result_len == NULL || lookup == NULL) return VAR_ERR_INVALID_ARGUMENT;