From 2d66645143e762718b22dad00f5aa98966969a38 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Fri, 3 Jul 2020 21:52:57 +0200 Subject: [PATCH] teach navnexus how to skip bad messages by hunting for our magic value --- storage.cc | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/storage.cc b/storage.cc index ed9ed73..335f52a 100644 --- a/storage.cc +++ b/storage.cc @@ -5,6 +5,7 @@ #include #include #include +#include using namespace std; @@ -82,8 +83,22 @@ bool getNMM(FILE* fp, NavMonMessage& nmm, uint32_t& offset) bool getRawNMM(int fd, timespec& t, string& raw, uint32_t& offset) { char bert[4]; - if(read(fd, bert, 4) != 4 || bert[0]!='b' || bert[1]!='e' || bert[2] !='r' || bert[3]!='t') { - return false; + int res; + if((res=read(fd, bert, 4)) != 4 || bert[0]!='b' || bert[1]!='e' || bert[2] !='r' || bert[3]!='t') { + if(res != 4) + return false; + + for(int s=0;; ++s ) { + cerr<<"Skipping character hunting for good magic.. "<