wuffs gen -version=0.3.6
diff --git a/release/c/wuffs-v0.3.c b/release/c/wuffs-v0.3.c index b9f1907..cecadae 100644 --- a/release/c/wuffs-v0.3.c +++ b/release/c/wuffs-v0.3.c
@@ -85,15 +85,15 @@ // each major.minor branch, the commit count should increase monotonically. // // WUFFS_VERSION was overridden by "wuffs gen -version" based on revision -// 40445d992b97be816cd09b0460c55e6a160389f6 committed on 2026-07-11. -#define WUFFS_VERSION 0x000030005 +// 55279938422060f30cd487173b98a651da075e3a committed on 2026-10-20. +#define WUFFS_VERSION 0x000030006 #define WUFFS_VERSION_MAJOR 0 #define WUFFS_VERSION_MINOR 3 -#define WUFFS_VERSION_PATCH 5 +#define WUFFS_VERSION_PATCH 6 #define WUFFS_VERSION_PRE_RELEASE_LABEL "" -#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3404 -#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20260711 -#define WUFFS_VERSION_STRING "0.3.5+3404.20260711" +#define WUFFS_VERSION_BUILD_METADATA_COMMIT_COUNT 3407 +#define WUFFS_VERSION_BUILD_METADATA_COMMIT_DATE 20261020 +#define WUFFS_VERSION_STRING "0.3.6+3407.20261020" // ---------------- Configuration @@ -13794,14 +13794,12 @@ uint8_t* q = s.ptr + s.len; if (options & WUFFS_BASE__PARSE_NUMBER_XXX__ALLOW_UNDERSCORES) { - for (;; p++) { - if (p >= q) { - return wuffs_base__make_status(wuffs_base__error__bad_argument); - } else if (*p != '_') { - break; - } + for (; (p < q) && (*p == '_'); p++) { } } + if (p >= q) { + return wuffs_base__make_status(wuffs_base__error__bad_argument); + } // Parse sign. do { @@ -13814,14 +13812,12 @@ break; } if (options & WUFFS_BASE__PARSE_NUMBER_XXX__ALLOW_UNDERSCORES) { - for (;; p++) { - if (p >= q) { - return wuffs_base__make_status(wuffs_base__error__bad_argument); - } else if (*p != '_') { - break; - } + for (; (p < q) && (*p == '_'); p++) { } } + if (p >= q) { + return wuffs_base__make_status(wuffs_base__error__bad_argument); + } } while (0); // Parse digits, up to (and including) a '.', 'E' or 'e'. Examples for each @@ -13873,9 +13869,12 @@ if (nd < WUFFS_BASE__PRIVATE_IMPLEMENTATION__HPD__DIGITS_PRECISION) { h->digits[nd++] = (uint8_t)(*p - '0'); dp = (int32_t)nd; - } else if ('0' != *p) { - // Long-tail non-zeroes set the truncated bit. - h->truncated = true; + } else { + dp++; + if ('0' != *p) { + // Long-tail non-zeroes set the truncated bit. + h->truncated = true; + } } } else if (*p == ((options & @@ -13935,14 +13934,12 @@ after_exp: do { if (options & WUFFS_BASE__PARSE_NUMBER_XXX__ALLOW_UNDERSCORES) { - for (;; p++) { - if (p >= q) { - return wuffs_base__make_status(wuffs_base__error__bad_argument); - } else if (*p != '_') { - break; - } + for (; (p < q) && (*p == '_'); p++) { } } + if (p >= q) { + return wuffs_base__make_status(wuffs_base__error__bad_argument); + } int32_t exp_sign = +1; if (*p == '+') { @@ -15751,6 +15748,7 @@ if (p < q) { goto hexadecimal; } + goto fail_bad_argument; } else if ((*p == 'd') || (*p == 'D')) { p++; @@ -15761,6 +15759,7 @@ if (p < q) { goto decimal; } + goto fail_bad_argument; } if (options & WUFFS_BASE__PARSE_NUMBER_XXX__ALLOW_MULTIPLE_LEADING_ZEROES) {