[flashrom] [PATCH] Workaround missing %hhx support in MinGW sscanf
Idwer Vollering
vidwer at gmail.com
Thu Feb 16 02:30:18 CET 2012
2012/2/16 Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>:
> 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 <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Idwer Vollering <vidwer at gmail.com>
>
> 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
> flashrom at flashrom.org
> http://www.flashrom.org/mailman/listinfo/flashrom
More information about the flashrom
mailing list