diff -ruN logtool-1.2.6~/src/includes.h logtool-1.2.6/src/includes.h
--- logtool-1.2.6~/src/includes.h	2003-05-02 18:34:59.000000000 +0200
+++ logtool-1.2.6/src/includes.h	2004-04-13 15:07:47.000000000 +0200
@@ -40,6 +40,12 @@
 extern int h_errno;
 struct hostent *h;
 
+/* For stat(), opendir(), and friends */
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <dirent.h>
+
 /* in here we work with the event-centric modules	*/
 #include "mods.h"	/* declare this before logtool.h */
 /* we use some structs from this in logtool.h (yeah, I know, lousy organization :) */
diff -ruN logtool-1.2.6~/src/regex.c logtool-1.2.6/src/regex.c
--- logtool-1.2.6~/src/regex.c	2003-10-07 23:08:23.000000000 +0200
+++ logtool-1.2.6/src/regex.c	2004-04-13 16:32:49.000000000 +0200
@@ -66,6 +66,38 @@
 	char count = 1;
 	FILE *fileptr;
 	short int retval;
+	DIR *dir;
+	struct stat *stbuf;
+	char *fname;
+	struct dirent *de;
+
+	stbuf=malloc(sizeof(struct stat));
+	if(stat(file, stbuf)<0) {
+		/* Could not stat, so, back out */
+		if(cf.debug) fprintf(stderr, "Could not stat %s\n", file);
+		return FALSE;
+	}
+
+	if(S_ISDIR(stbuf->st_mode)) {
+		dir=opendir(file);
+		if( ! dir ) {
+			if(cf.debug) fprintf(stderr, "Could not opendir %s\n", file);
+			return FALSE;
+		}
+		while((de=readdir(dir))) {
+			if(!strncmp(de->d_name, ".", 1)) continue;
+			fname=malloc(strlen(file)+strlen(de->d_name)+2);
+			sprintf(fname, "%s/%s", file, de->d_name);
+			if(!lt_load_regex(fname, dest, re)) {
+				if(cf.debug) fprintf(stderr,
+						"error occured, bailing out\n");
+				free(fname);
+				return FALSE;
+			}
+			free(fname);
+		}
+		return TRUE;
+	}
 
         fileptr = fopen(file, "r");
         if( ! fileptr ) {


syntax highlighted by Code2HTML, v. 0.9.1