CFLAGS=-Wall -W -Wno-pointer-sign -Wstrict-prototypes -Wmissing-prototypes -O2 -g
LDLIBS=-lpcre
-brum: brum.c cond.tab.o int.o lex.o ham.o lists.o
+brum: brum.c cond.tab.o int.o lex.o ham.o lists.o lock.o
gcc -o $@ $^ $(LDLIBS)
-lock: lex.o cond.tab.o
+lock.o: lex.o cond.tab.o
cond.tab.o: cond.tab.c lex.o
if (argc < 2)
die("Usage: ./brum conf_file");
+ save_gids();
read_conf(argv[1]);
// yydebug=1;
void print_headers(struct list* l);
void do_action(struct action* a);
char* get_body(void);
+
+/* lock.c */
+void save_gids(void);
+void close_mailbox(int fd, char* path, int is_default_mailbox);
+int open_mailbox(char* path, int is_default_mailbox);
+#define _GNU_SOURCE
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#define _GNU_SOURCE
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include "brum.h"
#define LOCK_MAX_TRIES 30
-
gid_t rgid, egid, sgid;
void
return fd;
}
-
-int
-main(int argc, char** argv)
-{
- /* FIXME: move somewhere */
- int fd;
- if (argc < 3)
- return 1;
- char* mb = argv[1];
- int is_default_mailbox = atoi(argv[2]);
- save_gids();
- drop_gid();
- fd = open_mailbox(mb, is_default_mailbox);
- printf("%d\n", fd);
- if (fd < 0)
- return 1;
-
- close_mailbox(fd, mb, is_default_mailbox);
-
- return 0;
-}