X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/143b6cc1e4a8faa8181301bf43ddafecab3237cc..40c6b59b6340a6fc459020c64f5ee35a842a02c7:/src/cache.c diff --git a/src/cache.c b/src/cache.c index 58a2f8e..eb4ca6d 100644 --- a/src/cache.c +++ b/src/cache.c @@ -143,6 +143,13 @@ cache_file(const char *filename, const char *shortname, int flags) rb_dlinkAddTailAlloc(emptyline, &cacheptr->contents); } + if (0 == rb_dlink_list_length(&cacheptr->contents)) + { + /* No contents. Don't cache it after all. */ + rb_free(cacheptr); + cacheptr = NULL; + } + fclose(in); return cacheptr; } @@ -246,6 +253,8 @@ load_help(void) while((ldirent = readdir(helpfile_dir)) != NULL) { + if(ldirent->d_name[0] == '.') + continue; rb_snprintf(filename, sizeof(filename), "%s/%s", HPATH, ldirent->d_name); cacheptr = cache_file(filename, ldirent->d_name, HELP_OPER); irc_dictionary_add(help_dict_oper, cacheptr->name, cacheptr); @@ -259,6 +268,8 @@ load_help(void) while((ldirent = readdir(helpfile_dir)) != NULL) { + if(ldirent->d_name[0] == '.') + continue; rb_snprintf(filename, sizeof(filename), "%s/%s", UHPATH, ldirent->d_name); #if defined(S_ISLNK) && defined(HAVE_LSTAT)