int e_check_files(char *serverid, char *name){ int fd_read; char *filename; strcpy(filename, E_CACHE_DIR); strcat(filename, serverid); strcat(filename, "_#_"); strcat(filename, name); if(fd_read = open(filename, O_RDONLY) == -1){ strcat(filename, "\n"); /* HIER UNTEN WÄR DANN NEN FEHLER */ /* Beachte, errno ist eine globale variable und wird von vielen funktionen benutzt, wenn jetzt zb auch strcat ein fehler wirft, ist deine error message nicht mehr korrekt, da strcat die errno verändert hat, errno vorher also immer sichern */ e_error_handle_file((errno)), filename); return EXIT_FAILURE; }}/* korrekt wäre */if(fd_read = open(filename, O_RDONLY) = -1){ int errsv = errno; // usw .../* error funktion */void e_error_handle_file( int errornumber, const char *filename ){ printf("ERROR[%i]: %s\n", errornumber, strerror(errornumber));}