logd: regression in log_strtok_r

In commit 'logd: fix kernel logline stutter'
2c3b300fd8 we introduced log_strtok_r.
as a replacement for strtok_r that dealt with a problem with
some kernel log messages. Fix is to refine definition of
is_timestamp to not match on patterns like [0].

Change-Id: I0867a555a3bca09bbf18d18e75e41dffffe57a22
This commit is contained in:
Mark Salyzyn 2015-06-12 14:59:42 -07:00
parent 57bd480c3b
commit d3c5093a3c
1 changed files with 4 additions and 1 deletions

View File

@ -68,6 +68,9 @@ static char *is_timestamp(char *s) {
continue;
}
if (!isdigit(c) && (c == ']')) {
if (first_period || (*s != ' ')) {
break;
}
return s;
}
}
@ -75,7 +78,7 @@ static char *is_timestamp(char *s) {
}
// Like strtok_r with "\r\n" except that we look for log signatures (regex)
// \(\(<[0-9]+>\)\([[] *[0-9]+[]]\)\{0,1\}\|[[] *[0-9]+[]]\)
// \(\(<[0-9]+>\)\([[] *[0-9]+[.][0-9]+[]] \)\{0,1\}\|[[] *[0-9]+[.][0-9]+[]] \)
// and split if we see a second one without a newline.
#define SIGNATURE_MASK 0xF0