1
0
mirror of https://gitlab.com/klmp200/fish.git synced 2025-07-04 00:45:17 +00:00

Black mage of regex stikes again

This commit is contained in:
Aethor 2017-05-15 19:10:46 +02:00
parent 9b6e5c7bc5
commit 83f695c538
4 changed files with 51 additions and 10 deletions

@ -7,14 +7,7 @@
WordList * fishExpand(WordList *wordArray) { WordList * fishExpand(WordList *wordArray) {
int i; wordArray = expandInDir("./", "*");
//WordArray* splitParameter;
for(i=1; i<wordArray->size; i++){
}
return wordArray; return wordArray;
@ -47,7 +40,14 @@ WordArray * getFiles(char* path){
while((dir = readdir(directory)) != NULL){ while((dir = readdir(directory)) != NULL){
/*if(dir->d_name != "." && dir->d_name != ".."){*/
printf("%s\n", dir->d_name);
files->words[i] = dir->d_name; files->words[i] = dir->d_name;
i++;
files->size++;
//}
} }
@ -120,4 +120,25 @@ int comparator(char* string1, char* string2){//TODO
} }
WordList* expandInDir(char* dir, char* toExpand){
int i = 0;
WordList* list = createWordList();
WordArray* files = getFiles(dir);
for(i=0; i<files->size;i++){
if(comparator(toExpand, files->words[i])){
addWordList(list, files->words[i]);
}
}
return list;
}

@ -11,4 +11,6 @@ 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*/
int comparator(char* string1, char* string2); int comparator(char* string1, char* string2);
WordList* expandInDir(char*, char*);
#endif //FISH_FISH_GLOBBING_H #endif //FISH_FISH_GLOBBING_H

@ -30,7 +30,7 @@ char *getInsult(){
char *insults[] = { char *insults[] = {
"Apprend à écrire crétin !", "Apprend à écrire crétin !",
"Bolos !", "Bolos !",
"Mois aussi je sais écrire de la merde, pourtant je le fait pas !" "Moi aussi je sais écrire de la merde, pourtant je le fait pas !"
}; };
if (!init){ if (!init){
srand((unsigned int) time(NULL)); srand((unsigned int) time(NULL));
@ -103,6 +103,22 @@ void freeWordList(WordList *list) {
free(list); free(list);
} }
WordList* concatWordList(WordList* list1, WordList* list2){
if(list1->last != NULL){
list1->last->next = list2->first;
list2->first->previous = list1->last;
list1->last = list2->last;
list1->size = list1->size + list2->size;
free(list2);
return list1;
}
else{
return NULL;
}
}
WordArray *wordListToWordArray(WordList *list) { WordArray *wordListToWordArray(WordList *list) {
WordArray *array = (WordArray*) malloc(sizeof(WordArray)); WordArray *array = (WordArray*) malloc(sizeof(WordArray));
WordListElement *current = list->first; WordListElement *current = list->first;

@ -25,4 +25,6 @@ WordArray * wordListToWordArray(WordList *list);
WordList * wordArrayToWordList(WordArray * array); WordList * wordArrayToWordList(WordArray * array);
WordList* concatWordList(WordList* list1, WordList* list2);
#endif //FISH_FISH_UTILS_H #endif //FISH_FISH_UTILS_H