asix-sigma: parse serial numbers as unsigned values
authorNiklas Thorne <notrupertthorne@gmail.com>
Tue, 17 Nov 2020 11:55:26 +0000 (12:55 +0100)
committerGerhard Sittig <gerhard.sittig@gmx.net>
Sat, 28 Nov 2020 07:01:31 +0000 (08:01 +0100)
This unbreaks device detection on 32bit platforms.

src/hardware/asix-sigma/api.c

index dcccb4240669dd37b60b0dfea58dc5bbfc838839..4fdafec955eb1cfb1b1ef4eb112a2192f63b1e22 100644 (file)
@@ -120,7 +120,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        char conn_id[20];
        char serno_txt[16];
        char *end;
-       long serno_num, serno_pre;
+       unsigned long serno_num, serno_pre;
        enum asix_device_type dev_type;
        const char *dev_text;
        struct sr_dev_inst *sdi;
@@ -192,7 +192,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
                 * All ASIX logic analyzers have a serial number, which
                 * reads as a hex number, and tells the device type.
                 */
-               ret = sr_atol_base(serno_txt, &serno_num, &end, 16);
+               ret = sr_atoul_base(serno_txt, &serno_num, &end, 16);
                if (ret != SR_OK || !end || *end) {
                        sr_warn("Cannot interpret serial number %s.", serno_txt);
                        continue;