#include #include #include char decimal_digit[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; uint32_t bytelen(uint8_t *s) { if(*s) return(1 + bytelen(s+1)); return(0); } void write_uint8_t(uint8_t x) { if(x == 0) { write(1,"0",1); return; } uint8_t x_0 = x % 10; uint8_t x_rest = (x - x_0) / 10; if(x_rest) write_uint8_t(x_rest); write(1,&decimal_digit[x_0],1); return; } void write_uint32_t(uint32_t x) { if(x == 0) { write(1,"0",1); return; } uint32_t x_0 = x % 10; uint32_t x_rest = (x - x_0) / 10; if(x_rest) write_uint32_t(x_rest); write(1,&decimal_digit[x_0],1); return; } int main(int argc, char *argv[]) { uint8_t *msg0_0 = (uint8_t *)"Not an ASCII file, found a "; uint8_t *msg0_1 = (uint8_t *)" value at byte "; uint8_t *msg0_2 = (uint8_t *)": "; /* YOUR CODE GOES HERE */ }