NBLog exchange author and timestamp positions in log
Bug: 36366826
Test: no change in functionality
Change-Id: I137695b57b9f2b84d6059b37972e06b115e10d1f
diff --git a/media/libnbaio/NBLog.cpp b/media/libnbaio/NBLog.cpp
index 7936ad2..de38e7f 100644
--- a/media/libnbaio/NBLog.cpp
+++ b/media/libnbaio/NBLog.cpp
@@ -68,24 +68,32 @@
NBLog::FormatEntry::iterator NBLog::FormatEntry::args() const {
auto it = begin();
- // Second entry can be author or timestamp. Skip author if present
- if ((++it)->type == EVENT_AUTHOR) {
+ // skip start fmt
+ ++it;
+ // skip timestamp
+ ++it;
+ // Skip author if present
+ if (it->type == EVENT_AUTHOR) {
++it;
}
- return ++it;
+ return it;
}
timespec NBLog::FormatEntry::timestamp() const {
auto it = begin();
- if ((++it)->type != EVENT_TIMESTAMP) {
- ++it;
- }
+ // skip start fmt
+ ++it;
return it.payload<timespec>();
}
pid_t NBLog::FormatEntry::author() const {
auto it = begin();
- if ((++it)->type == EVENT_AUTHOR) {
+ // skip start fmt
+ ++it;
+ // skip timestamp
+ ++it;
+ // if there is an author entry, return it, return -1 otherwise
+ if (it->type == EVENT_AUTHOR) {
return it.payload<int>();
}
return -1;
@@ -96,6 +104,8 @@
auto it = begin();
// copy fmt start entry
it.copyTo(dst);
+ // copy timestamp
+ (++it).copyTo(dst);
// insert author entry
size_t authorEntrySize = NBLog::Entry::kOverhead + sizeof(author);
uint8_t authorEntry[authorEntrySize];