int glob_strncmp(char *s1, char *s2, size_t n) { size_t i; size_t y; char *bracket; if (n == 0 || init_strncmp(&i, &y, s1, s2) != -1) return (n); while (s1[i] != '\0' && i < n) { if (s2[y] == '[') { y++; bracket = make_bracket(s2, y); if (bracket == NULL) return (1); if ((ft_strchr(bracket, s1[i])) == NULL) return (free_bracket(bracket)); free(bracket); while (s2[y] != ']') y++; } else if (s1[i] != s2[y] && s2[y] != '?') return ((unsigned char)s1[i] - (unsigned char)s2[y]); incrementation(&i, &y); } return (0); }
long *vector_incrementation(char *s) { long *v; int nr; int i; int k; v = (long*)malloc(sizeof(long) * ft_strlen(s)); nr = 0; i = 0; k = 0; while (s[i]) { if (s[i] == '(') { ft_strcpy(s + i, s + i + 1); k = k + 2; } if (s[i] == ')') { k = k - 2; ft_strcpy(s + i, s + i + 1); } v[nr++] = incrementation(s[i], k); i++; } return (v); }