Commit 01531ac3 authored by BingJing Chang's avatar BingJing Chang Committed by Jan Kara

parser: add unsigned int parser

Will be used by fs parsing options

Link: https://lore.kernel.org/r/20210129045242.10268-1-bingjingc@synology.com
Reviewed-by: Robbie Ko<robbieko@synology.com>
Reviewed-by: default avatarChung-Chiang Cheng <cccheng@synology.com>
Signed-off-by: default avatarBingJing Chang <bingjingc@synology.com>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 63c9e47a
......@@ -29,6 +29,7 @@ typedef struct {
int match_token(char *, const match_table_t table, substring_t args[]);
int match_int(substring_t *, int *result);
int match_uint(substring_t *s, unsigned int *result);
int match_u64(substring_t *, u64 *result);
int match_octal(substring_t *, int *result);
int match_hex(substring_t *, int *result);
......
......@@ -188,6 +188,28 @@ int match_int(substring_t *s, int *result)
}
EXPORT_SYMBOL(match_int);
/*
* match_uint - scan a decimal representation of an integer from a substring_t
* @s: substring_t to be scanned
* @result: resulting integer on success
*
* Description: Attempts to parse the &substring_t @s as a decimal integer. On
* success, sets @result to the integer represented by the string and returns 0.
* Returns -ENOMEM, -EINVAL, or -ERANGE on failure.
*/
int match_uint(substring_t *s, unsigned int *result)
{
int err = -ENOMEM;
char *buf = match_strdup(s);
if (buf) {
err = kstrtouint(buf, 10, result);
kfree(buf);
}
return err;
}
EXPORT_SYMBOL(match_uint);
/**
* match_u64: - scan a decimal representation of a u64 from
* a substring_t
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment