From: Laurent Mazet Date: Fri, 25 Apr 2025 20:03:10 +0000 (+0200) Subject: fix checkers X-Git-Tag: v1.0~30^2~1 X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=9988dafa06531828eb3b86835caa9eb4f7f31820;p=morep.git fix checkers --- diff --git a/morep_valid.c b/morep_valid.c index 40155d8..7aeb517 100644 --- a/morep_valid.c +++ b/morep_valid.c @@ -329,6 +329,8 @@ int main (int argc, char **argv) else if ((rxlen != payload.data_len) || ((memcmp (rxpayload, payload.data, rxlen) != 0))) { VERBOSE (morep, WARNING, PRINTF ("R%s SEQ=%d MSG=%d: payloads differed %d/%d\n", comm->etype, seqnum, rxmsgtype, payload.data_len, rxlen)); + } else { + VERBOSE (morep, INFO, PRINTF ("R%s SEQ=%d MSG=%d: payloads matched [%d]\n", comm->etype, seqnum, rxmsgtype, rxlen)); } if (log) { print_message (log, comm->etype, 0, rxmsgtype, seqnum, rxpayload, rxlen); diff --git a/parse.c b/parse.c index a23c476..27a07f4 100644 --- a/parse.c +++ b/parse.c @@ -85,13 +85,13 @@ int parse_array (char *str, uint8_t *buffer, int maxlen) } } - /* hexa payload: xxxxxx [0-9a-fA-F] */ + /* hexa payload: xx:xx:xx [0-9a-fA-F] */ else { if (maxlen * 3 - 1 < slen) { slen = maxlen * 3 - 1; } if (slen % 3 == 2) { - VERBOSE (morep, TRACE, PRINTF ("hexa payload: xxxxxx\n")); + VERBOSE (morep, TRACE, PRINTF ("hexa payload: xx:xx:xx\n")); len = slen / 3 + 1; if (len > maxlen) { VERBOSE (morep, WARNING, PRINTF ("string too large (%d > %d) for '%s'\n", len, maxlen, str)); diff --git a/parse.h b/parse.h index 398bfd0..0a3e06d 100644 --- a/parse.h +++ b/parse.h @@ -58,10 +58,10 @@ __BEGIN_DECLS */ #define BEGIN_PARSE(line) \ { \ - int p = 0; \ int rc = 0; \ char *pt = line; \ while (1) { \ + int p = 0; \ /* find variable */ \ TEST_CHARS (pt, " \t", 0); \ char *var = pt; \ @@ -503,6 +503,7 @@ __BEGIN_DECLS */ #define BEGIN_CHECK(fields) \ int _fields = fields; \ + VERBOSE (morep, TRACE, PRINTF ("fields: 0x%04x\n", 0xffff & fields)); \ int p = 0; \ int rc = 0; @@ -515,10 +516,14 @@ __BEGIN_DECLS @param first first value @param second second value */ -#define CHECK_INT(name, first, second) \ - if ((_fields & (1 << (++p))) && (first != second)) { \ - VERBOSE (morep, WARNING, PRINTF ("%s differed %d / %d\n", name, first, second)); \ - rc = 1; \ +#define CHECK_INT(name, first, second) \ + if (_fields & (1 << (++p))) { \ + if (first != second) { \ + VERBOSE (morep, WARNING, PRINTF ("%s differed %d / %d\n", name, first, second)); \ + rc = 1; \ + } else { \ + VERBOSE (morep, INFO, PRINTF ("%s matched %d\n", name, first)); \ + } \ } /** @@ -533,9 +538,11 @@ __BEGIN_DECLS #define CHECK_DOUBLE(name, first, second) \ if (_fields & (1 << (++p))) { \ if (first == 0) { \ - if (first ! second) { \ + if (first != second) { \ VERBOSE (morep, WARNING, PRINTF ("%s differed %g / %g\n", name, first, second)); \ rc = 1; \ + } else { \ + VERBOSE (morep, INFO, PRINTF ("%s matched %g\n", name, first)); \ } \ } else { \ double diff = (first - second) / first; \ @@ -545,6 +552,8 @@ __BEGIN_DECLS if (diff > TOLERANCE) { \ VERBOSE (morep, WARNING, PRINTF ("%s differed %g / %g\n", name, first, second)); \ rc = 1; \ + } else { \ + VERBOSE (morep, INFO, PRINTF ("%s matched %g\n", name, first)); \ } \ } \ } @@ -558,10 +567,15 @@ __BEGIN_DECLS @param first first value @param second second value */ -#define CHECK_TAB(name, first, second) \ - if ((_fields & (1 << (++p))) && (memcmp (first, second, sizeof (first)))) { \ - VERBOSE (morep, WARNING, PRINTF ("%s differed\n", name)); \ - rc = 1; \ +#define CHECK_TAB(name, first, second) \ + if (_fields & (1 << (++p))) { \ + int len = sizeof (first); \ + if (memcmp (first, second, len)) { \ + VERBOSE (morep, WARNING, PRINTF ("%s differed\n", name)); \ + rc = 1; \ + } else { \ + VERBOSE (morep, INFO, PRINTF ("%s matched [%d]\n", name, len)); \ + } \ } /** @@ -573,15 +587,17 @@ __BEGIN_DECLS @param first first value @param second second value */ -#define CHECK_ARRAY(name, first, second) \ - if (_fields & (1 << (++p))) { \ - if (first##_len != second##_len) { \ +#define CHECK_ARRAY(name, first, second) \ + if (_fields & (1 << (++p))) { \ + if (first##_len != second##_len) { \ VERBOSE (morep, WARNING, PRINTF ("%s size differed %d / %d\n", name, first##_len, second##_len)); \ - rc = 1; \ - } else if (memcmp (first, second, first##_len)) { \ - VERBOSE (morep, WARNING, PRINTF ("%s differed\n", name)); \ - rc = 1; \ - } \ + rc = 1; \ + } else if (memcmp (first, second, first##_len)) { \ + VERBOSE (morep, WARNING, PRINTF ("%s differed\n", name)); \ + rc = 1; \ + } else { \ + VERBOSE (morep, INFO, PRINTF ("%s matched [%d]\n", name, first##_len)); \ + } \ } /** diff --git a/script-cross_crypto.eth b/script-cross_crypto.eth index 63cc8e5..57a10bb 100644 --- a/script-cross_crypto.eth +++ b/script-cross_crypto.eth @@ -10,4 +10,4 @@ T:CROSS_CRYPTO DECRYPT_CROSS_ASYNC CHANNELID=5 BYPASSLEN=0 DATA=@script-local_cr R:CROSS_CRYPTO DECRYPT_CROSS_ASYNC DATA=@script-local_crypto.eth T:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC CHANNELID=0 BYPASSLEN=4 BYPASS=11:22:33:44 DATA=@script-cross_crypto.eth -R:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC +R:CROSS_CRYPTO DECRYPTED_CROSS_ASYNC DATA=@script-cross_crypto.eth CHANNELID=0