From 13a7bb17487a81fd9e4dc9698694ca89d496cd54 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 11 Mar 2013 17:04:29 +0100 Subject: [PATCH] Logger/MD5: move IGC specific code to class GRecord --- src/Logger/GRecord.cpp | 14 ++++++++++++-- src/Logger/MD5.cpp | 12 ------------ src/Logger/MD5.hpp | 1 - 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/Logger/GRecord.cpp b/src/Logger/GRecord.cpp index 34837263e..af2830c2f 100644 --- a/src/Logger/GRecord.cpp +++ b/src/Logger/GRecord.cpp @@ -22,6 +22,7 @@ #include "Logger/GRecord.hpp" #include "Logger/MD5.hpp" +#include "IGC/IGCString.hpp" #include "IO/FileSource.hpp" #include "IO/FileLineReader.hpp" #include "IO/TextWriter.hpp" @@ -49,12 +50,21 @@ GRecord::AppendRecordToBuffer(const char *in) return true; } +static void +AppendIGCString(MD5 &md5, const char *s) +{ + while (*s != '\0') { + const char ch = *s++; + if (IsValidIGCChar(ch)) + md5.Append(ch); + } +} + void GRecord::AppendStringToBuffer(const char *in) { for (int i = 0; i < 4; i++) - // skip whitespace flag=1 - md5[i].AppendString(in, true); + AppendIGCString(md5[i], in); } void diff --git a/src/Logger/MD5.cpp b/src/Logger/MD5.cpp index 1595c67f6..f5c6f2779 100644 --- a/src/Logger/MD5.cpp +++ b/src/Logger/MD5.cpp @@ -21,7 +21,6 @@ */ #include "Logger/MD5.hpp" -#include "IGC/IGCString.hpp" #include "Util/Macros.hpp" #include "OS/ByteOrder.hpp" #include "Compiler.h" @@ -146,17 +145,6 @@ MD5::Append(const void *data, size_t length) } void -MD5::AppendString(const char *in, bool skip_invalid_igc_chars) -{ - for (; *in != 0; ++in) { - if (skip_invalid_igc_chars && !IsValidIGCChar(*in)) - continue; - - Append(*in); - } -} - -void MD5::Finalize() { // append "0" bits until message length in bits ? 448 (mod 512) diff --git a/src/Logger/MD5.hpp b/src/Logger/MD5.hpp index 04be9dd6a..4a6fba9dc 100644 --- a/src/Logger/MD5.hpp +++ b/src/Logger/MD5.hpp @@ -51,7 +51,6 @@ public: void Append(uint8_t ch); void Append(const void *data, size_t length); - void AppendString(const char *in, bool skip_invalid_igc_chars); // must be NULL-terminated string! void Finalize(); -- 2.11.4.GIT