]> sigrok.org Git - libsigrok.git/commitdiff
metex14: Use case-insensitive string compares.
authorUwe Hermann <redacted>
Wed, 23 Oct 2013 16:07:54 +0000 (18:07 +0200)
committerUwe Hermann <redacted>
Wed, 23 Oct 2013 16:07:54 +0000 (18:07 +0200)
This allows some other DMMs to be supported that use e.g. "kOhm" vs.
"KOhm", and so on.

hardware/common/dmm/metex14.c

index f54188210f64d06a8243f86515934c61e389c0da..e529727b87e17aa68e06137c53e9c8b136e5bafa 100644 (file)
@@ -57,10 +57,10 @@ static int parse_value(const uint8_t *buf, float *result)
 
        /* Bytes 5-7: Over limit (various forms) */
        is_ol = 0;
-       is_ol += (!strcmp((const char *)&valstr, ".OL")) ? 1 : 0;
-       is_ol += (!strcmp((const char *)&valstr, "O.L")) ? 1 : 0;
-       is_ol += (!strcmp((const char *)&valstr, "OL.")) ? 1 : 0;
-       is_ol += (!strcmp((const char *)&valstr, "OL")) ? 1 : 0;
+       is_ol += (!strcasecmp((const char *)&valstr, ".OL")) ? 1 : 0;
+       is_ol += (!strcasecmp((const char *)&valstr, "O.L")) ? 1 : 0;
+       is_ol += (!strcasecmp((const char *)&valstr, "OL.")) ? 1 : 0;
+       is_ol += (!strcasecmp((const char *)&valstr, "OL")) ? 1 : 0;
        if (is_ol != 0) {
                sr_spew("Over limit.");
                *result = INFINITY;
@@ -112,33 +112,33 @@ static void parse_flags(const char *buf, struct metex14_info *info)
 
        /* Bytes 9-12: Unit */
        u = (const char *)&unit;
-       if (!strcmp(u, "A"))
+       if (!strcasecmp(u, "A"))
                info->is_ampere = TRUE;
-       else if (!strcmp(u, "mA"))
+       else if (!strcasecmp(u, "mA"))
                info->is_milli = info->is_ampere = TRUE;
-       else if (!strcmp(u, "uA"))
+       else if (!strcasecmp(u, "uA"))
                info->is_micro = info->is_ampere = TRUE;
-       else if (!strcmp(u, "V"))
+       else if (!strcasecmp(u, "V"))
                info->is_volt = TRUE;
-       else if (!strcmp(u, "mV"))
+       else if (!strcasecmp(u, "mV"))
                info->is_milli = info->is_volt = TRUE;
-       else if (!strcmp(u, "Ohm"))
+       else if (!strcasecmp(u, "Ohm"))
                info->is_ohm = TRUE;
-       else if (!strcmp(u, "KOhm"))
+       else if (!strcasecmp(u, "KOhm"))
                info->is_kilo = info->is_ohm = TRUE;
-       else if (!strcmp(u, "MOhm"))
+       else if (!strcasecmp(u, "MOhm"))
                info->is_mega = info->is_ohm = TRUE;
-       else if (!strcmp(u, "nF"))
+       else if (!strcasecmp(u, "nF"))
                info->is_nano = info->is_farad = TRUE;
-       else if (!strcmp(u, "uF"))
+       else if (!strcasecmp(u, "uF"))
                info->is_micro = info->is_farad = TRUE;
-       else if (!strcmp(u, "KHz"))
+       else if (!strcasecmp(u, "KHz"))
                info->is_kilo = info->is_hertz = TRUE;
-       else if (!strcmp(u, "C"))
+       else if (!strcasecmp(u, "C"))
                info->is_celsius = TRUE;
-       else if (!strcmp(u, "DB"))
+       else if (!strcasecmp(u, "DB"))
                info->is_decibel = TRUE;
-       else if (!strcmp(u, ""))
+       else if (!strcasecmp(u, ""))
                info->is_unitless = TRUE;
 
        /* Byte 13: Always '\r' (carriage return, 0x0d, 13) */