]> sigrok.org Git - libsigrok.git/commitdiff
fluke-dmm: Fix counts_digits compatibility with 28x format
authorMathieu Pilato <redacted>
Mon, 20 Mar 2023 20:20:08 +0000 (21:20 +0100)
committerGerhard Sittig <redacted>
Thu, 30 Mar 2023 18:42:29 +0000 (20:42 +0200)
Remove sign, then only take into account numerical characters (this
correctly excludes the exponent in the scientific notation used by
28x models).

src/hardware/fluke-dmm/protocol.c

index cb641af9b17342ca36ea71dd7de86d2d6ffa1c85..212e4c401e49e3f085a58a8a427228b014f34cc6 100644 (file)
 #include "libsigrok-internal.h"
 #include "protocol.h"
 
-static int count_digits(const char *str) {
+static int count_digits(const char *str)
+{
        int digits;
 
-       while (*str && *str != ' ' && *str != ',' && *str != '.')
+       if (*str == '-' || *str == '+')
+               str++;
+
+       while (*str >= '0' && *str <= '9')
                str++;
 
        digits = 0;
        if (*str == '.') {
                str++;
-               while (*str && *str != ' ' && *str != ',') {
+               while (*str >= '0' && *str <= '9') {
                        str++;
                        digits++;
                }