2
0
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:
Cyrill Gorcunov 2014-02-03 17:24:00 +04:00 committed by Pavel Emelyanov
parent c8d5f1a215
commit c643ed76e7

View File

@ -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)