mirror of https://gitee.com/openkylin/linux.git
[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:
parent
709525fad8
commit
ef4533f8af
|
@ -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 *);
|
||||||
|
|
10
lib/parser.c
10
lib/parser.c
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue