#include "misc.h" #include #include #include char *myfind(char *file, char* searchpath, int (*found) (char *) ) { static char wholePath[1024]; char *path; char *delimiters=":"; char *f; f = NULL; if (found(file)) { strcpy(wholePath,file); f = wholePath; } else if (searchpath != NULL) { char *paths; paths = (char *) malloc(strlen(searchpath)+1); strcpy(paths,searchpath); path = (char *) strtok(paths,delimiters); while (path!= NULL) { (void) strcpy(wholePath,path); (void) strcat(wholePath,"/"); (void) strcat(wholePath,file); if (found(wholePath)) { f = wholePath; break; } path = (char *) strtok((char *)NULL,delimiters); } free(paths); } return f;; }