#include #include #include #include "utils.h" /** * sub_digit(): return the longest sub string with digit * @str: a string with digit * * Extract the longest sub string with digit in a big string. * * Return: a int which is the digit */ int sub_digit(char *str) { int ret = 0; char *beginning = strpbrk(str, "0123456789"); int len = strspn(beginning, "0123456789"); char *tmp = (char *) malloc(sizeof(char) * len); strncpy(tmp, beginning, len); ret = atoi(tmp); free(tmp); return ret; } /** * check_ecl(): check only the ecl (jour4) * @str: the string to test * * Just check if ecl is good * * Return: 0 if not good, 1 else */ int check_ecl(char *str) { str = str + 1; if (!strcmp(str, "amb") || !strcmp(str, "blu") || !strcmp(str, "brn") || !strcmp(str, "gry") || !strcmp(str, "grn") || !strcmp(str, "hzl") || !strcmp(str, "oth")) return 1; return 0; } /** * check_void_line(): check if one line is blank * @ptr: a pointer to the file * * Check if, in one file, we have an empty line between two line with text * * Return: 0 if the line isn’t empty, 1 else */ int check_void_line(FILE *ptr) { int ret = 0; char check_line[2]; check_line[0] = getc(ptr); check_line[1] = getc(ptr); if (check_line[0] == '\n' && (check_line[1] == '\n' || check_line[1] == EOF)) ret = 1; /* reviens un caractère en arrière pour éviter de perdre des infos quand on check la présence d’une ligne vide */ fseek(ptr, -1, SEEK_CUR); return ret; }