[AFS]: Make the match_*() functions take const options.

Make the match_*() functions take a const pointer to the options table
and make strings pointers in the options table const too.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Howells 2007-05-03 03:10:39 -07:00 committed by David S. Miller
parent 709525fad8
commit ef4533f8af
2 changed files with 9 additions and 9 deletions

View File

@ -11,10 +11,10 @@
/* associates an integer enumerator with a pattern string. */ /* associates an integer enumerator with a pattern string. */
struct match_token { struct match_token {
int token; int token;
char *pattern; const char *pattern;
}; };
typedef struct match_token match_table_t[]; typedef const struct match_token match_table_t[];
/* Maximum number of arguments that match_token will find in a pattern */ /* Maximum number of arguments that match_token will find in a pattern */
enum {MAX_OPT_ARGS = 3}; enum {MAX_OPT_ARGS = 3};
@ -29,5 +29,5 @@ int match_token(char *, match_table_t table, substring_t args[]);
int match_int(substring_t *, int *result); int match_int(substring_t *, int *result);
int match_octal(substring_t *, int *result); int match_octal(substring_t *, int *result);
int match_hex(substring_t *, int *result); int match_hex(substring_t *, int *result);
void match_strcpy(char *, substring_t *); void match_strcpy(char *, const substring_t *);
char *match_strdup(substring_t *); char *match_strdup(const substring_t *);

View File

@ -22,7 +22,7 @@
* match extremely simple token=arg style patterns. If the pattern is found, * match extremely simple token=arg style patterns. If the pattern is found,
* the location(s) of the arguments will be returned in the @args array. * the location(s) of the arguments will be returned in the @args array.
*/ */
static int match_one(char *s, char *p, substring_t args[]) static int match_one(char *s, const char *p, substring_t args[])
{ {
char *meta; char *meta;
int argc = 0; int argc = 0;
@ -43,7 +43,7 @@ static int match_one(char *s, char *p, substring_t args[])
p = meta + 1; p = meta + 1;
if (isdigit(*p)) if (isdigit(*p))
len = simple_strtoul(p, &p, 10); len = simple_strtoul(p, (char **) &p, 10);
else if (*p == '%') { else if (*p == '%') {
if (*s++ != '%') if (*s++ != '%')
return 0; return 0;
@ -102,7 +102,7 @@ static int match_one(char *s, char *p, substring_t args[])
*/ */
int match_token(char *s, match_table_t table, substring_t args[]) int match_token(char *s, match_table_t table, substring_t args[])
{ {
struct match_token *p; const struct match_token *p;
for (p = table; !match_one(s, p->pattern, args) ; p++) for (p = table; !match_one(s, p->pattern, args) ; p++)
; ;
@ -190,7 +190,7 @@ int match_hex(substring_t *s, int *result)
* &substring_t @s to the c-style string @to. Caller guarantees that @to is * &substring_t @s to the c-style string @to. Caller guarantees that @to is
* large enough to hold the characters of @s. * large enough to hold the characters of @s.
*/ */
void match_strcpy(char *to, substring_t *s) void match_strcpy(char *to, const substring_t *s)
{ {
memcpy(to, s->from, s->to - s->from); memcpy(to, s->from, s->to - s->from);
to[s->to - s->from] = '\0'; to[s->to - s->from] = '\0';
@ -204,7 +204,7 @@ void match_strcpy(char *to, substring_t *s)
* the &substring_t @s. The caller is responsible for freeing the returned * the &substring_t @s. The caller is responsible for freeing the returned
* string with kfree(). * string with kfree().
*/ */
char *match_strdup(substring_t *s) char *match_strdup(const substring_t *s)
{ {
char *p = kmalloc(s->to - s->from + 1, GFP_KERNEL); char *p = kmalloc(s->to - s->from + 1, GFP_KERNEL);
if (p) if (p)