Udało mi się napisać prostą bibliotekę w C (nazwałem ją Squirrel) służącą do dopasowywania DOSowych wildcardów:
short int squirrel(char* pattern,char* text);
short int squirrel_star(char* pattern,char* text);
short int squirrel(char* pattern,char* text){
if(!*text){
return 1;
}else if(*pattern==*text || *pattern=='?'){
return squirrel(++pattern,++text) || squirrel(++pattern,text);
}else if(*pattern=='*'){
return squirrel_star(++pattern,text);
}else{
return 0;
}
}
short int squirrel_star(char* pattern,char* text){
if(!*text && *pattern){
return 0;
}else if(squirrel(pattern,text)){
return 1;
}else{
return squirrel_star(pattern,++text);
}
}
Czy jest coś do ewentualnego poprawienia?