fdi->index += r;
e = (struct logger_entry *)fdi->buff;
- if (fdi->type == KMSG)
- parse_kmsg_message(fdi->buff, 0, r);
+ if (fdi->type == KMSG) {
+ if (!parse_kmsg_message(fdi->buff, 0, r)) {
+ fdi->index = 0;
+ continue;
+ }
+ }
if (fdi->type == KMSG || fdi->type == ANDROID_LOGGER)
e->len = r;
le.tid = 0;
} else {
cptr = parse_dict_val(cptr+1, &cptr2);
- if (cptr == NULL)
- return 0;
- le.pid = strtol(cptr2, NULL, 10);
-
- cptr = parse_dict_val(cptr, &cptr2);
- if (cptr == NULL)
- return 0;
- le.tid = strtol(cptr2, NULL, 10);
+ if (cptr == NULL) {
+ le.pid = -1;
+ le.tid = -1;
+ } else {
+ le.pid = strtol(cptr2, NULL, 10);
+
+ cptr = parse_dict_val(cptr, &cptr2);
+ if (cptr == NULL)
+ le.tid = -1;
+ else
+ le.tid = strtol(cptr2, NULL, 10);
+ }
}
prio = strtol(pri_begin, NULL, 10);