set rdonly earlier for unveil, make open() error more clear - bmf - bmf (Bayesian Mail Filter) 0.9.4 fork + patches
(HTM) git clone git://git.codemadness.org/bmf
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 57c341a511e88733eedf95a443567f27198247e3
(DIR) parent da144ef21a75e5a1f78c1faf2d76d93c68f6180f
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 27 Oct 2018 20:02:06 +0200
set rdonly earlier for unveil, make open() error more clear
Diffstat:
M bmf.c | 4 ++--
M dbh.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
---
(DIR) diff --git a/bmf.c b/bmf.c
@@ -154,6 +154,8 @@ main(int argc, char **argv)
}
stats.extrema = (discrim_t *) malloc(stats.keepers * sizeof(discrim_t));
+ rdonly = (mode == mode_test) ? 1 : 0;
+
/* create directory if it doesn't exist yet, when dbname is NULL or empty use $HOME/.bmf */
pdb = dbtext_db_open(dbname, rdonly);
if (pdb == NULL) {
@@ -171,7 +173,6 @@ main(int argc, char **argv)
exit(2);
}
if (mode == mode_test) {
- rdonly = 1;
pblist = pdb->opentable(pdb, "spamlist", rdonly);
if (pblist == NULL) {
fprintf(stderr, "%s: cannot open spamlist\n", argv[0]);
@@ -191,7 +192,6 @@ main(int argc, char **argv)
exit(2);
}
if (mode != mode_test) {
- rdonly = 0;
pblist = pdb->opentable(pdb, "spamlist", rdonly);
if (pblist == NULL) {
fprintf(stderr, "%s: cannot open spamlist\n", argv[0]);
(DIR) diff --git a/dbh.c b/dbh.c
@@ -201,7 +201,7 @@ dbtext_db_opentable(dbhtext_t * pthis, cpchar table, bool_t rdonly)
flags = O_CREAT | (rdonly ? O_RDONLY : O_RDWR);
if ((ptable->fd = open(szpath, flags, 0644)) == -1) {
- perror("open()");
+ fprintf(stderr, "open: '%s': %s\n", szpath, strerror(errno));
goto bail;
}