#include #include /** `printf`-compatible substring. */ struct substring { const char *sub; int size; }; /** Parse unsigned; [`s`,`e`) => `n`. */ static int helper_natural(const char *s, const char *const e, uint32_t *const n) { uint32_t accum = 0; while(s < e) { unsigned next = accum * 10 + (unsigned)(*s - '0'); if(accum >= next) return errno = ERANGE, 0; accum = next; s++; } *n = accum; return 1; } static void unused_helper_coda(void); static void unused_helper(void) { helper_natural(0, 0, 0); unused_helper_coda(); } static void unused_helper_coda(void) { unused_helper(); }