MinGW uses standard Windows C libraries and those apparently don't
support %hhx for sscanf into a uint8_t. SCNx8 isn't available either.

Signed-off-by: Carl-Daniel Hailfinger <[email protected]>

Index: flashrom-mingw_workaround_broken_sscanf_uint8t/dummyflasher.c
===================================================================
--- flashrom-mingw_workaround_broken_sscanf_uint8t/dummyflasher.c       
(Revision 1492)
+++ flashrom-mingw_workaround_broken_sscanf_uint8t/dummyflasher.c       
(Arbeitskopie)
@@ -199,7 +199,12 @@
                        }
                }
                for (i = 0; i < spi_blacklist_size; i++) {
-                       sscanf(tmp + i * 2, "%2hhx", &spi_blacklist[i]);
+                       unsigned int tmp2;
+                       /* SCNx8 is apparently not supported by MSVC (and thus
+                        * MinGW), so work around it with an extra variable
+                        */
+                       sscanf(tmp + i * 2, "%2x", &tmp2);
+                       spi_blacklist[i] = (uint8_t)tmp2;
                }
                msg_pdbg("SPI blacklist is ");
                for (i = 0; i < spi_blacklist_size; i++)
@@ -230,7 +235,12 @@
                        }
                }
                for (i = 0; i < spi_ignorelist_size; i++) {
-                       sscanf(tmp + i * 2, "%2hhx", &spi_ignorelist[i]);
+                       unsigned int tmp2;
+                       /* SCNx8 is apparently not supported by MSVC (and thus
+                        * MinGW), so work around it with an extra variable
+                        */
+                       sscanf(tmp + i * 2, "%2x", &tmp2);
+                       spi_ignorelist[i] = (uint8_t)tmp2;
                }
                msg_pdbg("SPI ignorelist is ");
                for (i = 0; i < spi_ignorelist_size; i++)


-- 
http://www.hailfinger.org/


_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom

Reply via email to