#include bool vx_is_ascii_sign(char character) { if( vx_is_ascii_sign_of_block_1(character) || vx_is_ascii_sign_of_block_2(character) || vx_is_ascii_sign_of_block_3(character) || vx_is_ascii_sign_of_block_4(character) ) { return true; } return false; } bool vx_is_ascii_sign_of_block_1(char character) { if(character < 0x21) { return false; } if(character > 0x2f) { return false; } return true; } bool vx_is_ascii_sign_of_block_2(char character) { if(character < 0x3a) { return false; } if(character > 0x40) { return false; } return true; } bool vx_is_ascii_sign_of_block_3(char character) { if(character < 0x5b) { return false; } if(character > 0x60) { return false; } return true; } bool vx_is_ascii_sign_of_block_4(char character) { if(character < 0x7b) { return false; } if(character > 0x7e) { return false; } return true; } bool vx_is_ascii_letter(char character) { if( vx_is_ascii_lower(character) || vx_is_ascii_upper(character) ) { return true; } return false; } bool vx_is_ascii_lower(char character) { if(character < 'a') { return false; } if(character > 'z') { return false; } return true; } bool vx_is_ascii_upper(char character) { if(character < 'A') { return false; } if(character > 'Z') { return false; } return true; } bool vx_is_ascii_digit(char character) { if(character < '0') { return false; } if(character > '9') { return false; } return true; } bool vx_is_ascii_blank(char character) { if(character == ' ') { return true; } if(character == '\t') { return true; } return false; } bool vx_is_ascii_control(char character) { if(character < 32) { return true; } if(character == 127) { return true; } return false; } void vx_write_spaces(FILE *output, uint32_t count) { uint32_t space_index = 0; while(space_index < count) { fputc(' ', output); ++space_index; } } uint8_t vx_digits_for_decimal(uint32_t decimal) { if(decimal < 10) { return 1; } if(decimal < 100) { return 2; } if(decimal < 1000) { return 3; } if(decimal < 10000) { return 4; } if(decimal < 100000) { return 5; } if(decimal < 1000000) { return 6; } if(decimal < 10000000) { return 7; } if(decimal < 100000000) { return 8; } if(decimal < 1000000000) { return 9; } return 10; }