mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-29 05:18:00 +00:00
proc_parse: Speedup VMA range parsing
In /proc/<pid>/smaps/ output we may omit testing for capital hex letters, since we know the format kernel provides. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
c8d5f1a215
commit
c643ed76e7
@ -69,19 +69,24 @@ int parse_cpuinfo_features(int (*handler)(char *tok))
|
||||
/* check the @line starts with "%lx-%lx" format */
|
||||
static bool is_vma_range_fmt(char *line)
|
||||
{
|
||||
while (*line && is_hex_digit(*line))
|
||||
#define ____is_vma_addr_char(__c) \
|
||||
(((__c) <= '9' && (__c) >= '0') || \
|
||||
((__c) <= 'f' && (__c) >= 'a'))
|
||||
|
||||
while (*line && ____is_vma_addr_char(*line))
|
||||
line++;
|
||||
|
||||
if (*line++ != '-')
|
||||
return false;
|
||||
|
||||
while (*line && is_hex_digit(*line))
|
||||
while (*line && ____is_vma_addr_char(*line))
|
||||
line++;
|
||||
|
||||
if (*line++ != ' ')
|
||||
return false;
|
||||
|
||||
return true;
|
||||
#undef ____is_vma_addr_char
|
||||
}
|
||||
|
||||
static int parse_vmflags(char *buf, struct vma_area *vma_area)
|
||||
|
Loading…
x
Reference in New Issue
Block a user