regex motor is rouling comme une pierre

This commit is contained in:
Aethor 2017-05-15 16:34:40 +02:00
parent 3a87b110b6
commit 7d2c33acef
2 changed files with 39 additions and 12 deletions

View File

@ -8,10 +8,17 @@
WordArray* fishExpand(WordArray *wordArray) { WordArray* fishExpand(WordArray *wordArray) {
int i; int i;
WordArray* expandedParameters = (WordArray*) malloc(sizeof(WordArray)); //int j;
WordArray* splitParameter;
for(i=0; i<wordArray->size; i++){ for(i=1; i<wordArray->size; i++){
splitParameter = split(wordArray->words[i], "/");
printf("%s", splitParameter->words[0]);
/*for(j=0; i<splitParameter->size; j++){
printf("%s", splitParameter->words[j]);
}*/
} }
@ -57,32 +64,52 @@ WordArray * getFiles(char* path){
} }
bool comparator(char* string1, char* string2){//TODO int comparator(char* string1, char* string2){//TODO
int i = 0; int i = 0;
char tempIChar;
int j = 0;
if(string1 != NULL && string2 != NULL){ if(string1 != NULL && string2 != NULL){
while(string1[i] != '\0' && string2[i] != '\0'){ while(string1[i] != '\0' && string2[j] != '\0'){
if(string1[i] != string2[i] && string1[i] != '?'){
return false; if(string1[i] == '*'){
tempIChar = string1[i+1];
while(string2[j] != tempIChar){
j++;
if(string2[j] == '\0' && tempIChar == '\0'){
return 1;
}
}
i++;
}
if(string1[i] != string2[j] && string1[i] != '?'){
return 0;
} }
i++; i++;
j++;
} }
if(string1[i] == '\0' && string2[i] == '\0'){ if(string1[i] == '\0' && string2[j] == '\0'){
return true; return 1;
} }
else{ else{
return false; return 0;
} }
@ -93,7 +120,7 @@ bool comparator(char* string1, char* string2){//TODO
printf("warning : fuck you, strings are considered null"); printf("warning : fuck you, strings are considered null");
crash(); crash();
return false; return 0;
} }

View File

@ -9,6 +9,6 @@ WordArray * fishExpand(WordArray* wordArray);
WordArray* getFiles(char* path); WordArray* getFiles(char* path);
/*char1 is a string with characters such as '*', '.' or '?' having special meanings*/ /*char1 is a string with characters such as '*', '.' or '?' having special meanings*/
bool comparator(char* string1, char* string2); int comparator(char* string1, char* string2);
#endif //FISH_FISH_GLOBBING_H #endif //FISH_FISH_GLOBBING_H