]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/cache.c
Add is_halfop() and is_owner() and start using them in the new functions.
[irc/rqf/shadowircd.git] / src / cache.c
index 58a2f8e4ddfbfb5350bc6493e8108e16d40ccc2e..eb4ca6d9d9973aaead880a267b9b9596af76e3ea 100644 (file)
@@ -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)