static bool is_valid_utf8(const char *c, int size) { for (int i = 0; i < size; i++) { switch(number_of_bytes(c[i])) { case 0: return false; case 1 : break; case 2 : if (i + 1 > size) { return false; } if (invalid_trailing_byte(c[++i])) { return false; } break; case 3 : for (int temp = 0; temp < 2; temp++) { if (i + 1 > size) { return false; } if (invalid_trailing_byte(c[++i])) { return false; } } break; case 4 : for (int temp = 0; temp < 3; temp++) { if (i + 1 > size) { return false; } if (invalid_trailing_byte(c[++i])) { return false; } } break; default : return false; } } return true; }
void format_long(char *name, t_stat st, t_env *e) { ino_number(st, e); file_mode(st); number_of_link(st, e); owner_name(st, e); group_name(st, e); number_of_bytes(st, e); last_modif(e, st); path_name(name, st, e); }