diff options
Diffstat (limited to 'logd/LogKlog.cpp')
-rw-r--r-- | logd/LogKlog.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/logd/LogKlog.cpp b/logd/LogKlog.cpp index d3a73a189..39da87c38 100644 --- a/logd/LogKlog.cpp +++ b/logd/LogKlog.cpp @@ -256,6 +256,7 @@ void LogKlog::sniffTime(log_time &now, const char **buf, bool reverse) { if ((cp = now.strptime(*buf, "[ %s.%q]"))) { static const char suspend[] = "PM: suspend entry "; static const char resume[] = "PM: suspend exit "; + static const char healthd[] = "healthd: battery "; static const char suspended[] = "Suspended for "; if (isspace(*cp)) { @@ -265,6 +266,15 @@ void LogKlog::sniffTime(log_time &now, const char **buf, bool reverse) { calculateCorrection(now, cp + sizeof(suspend) - 1); } else if (!strncmp(cp, resume, sizeof(resume) - 1)) { calculateCorrection(now, cp + sizeof(resume) - 1); + } else if (!strncmp(cp, healthd, sizeof(healthd) - 1)) { + // look for " 2???-??-?? ??:??:??.????????? ???" + const char *tp; + for (tp = cp + sizeof(healthd) - 1; *tp && (*tp != '\n'); ++tp) { + if ((tp[0] == ' ') && (tp[1] == '2') && (tp[5] == '-')) { + calculateCorrection(now, tp + 1); + break; + } + } } else if (!strncmp(cp, suspended, sizeof(suspended) - 1)) { log_time real; char *endp; |