aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index c65d00e1c..063bc1032 100644
--- a/src/main.c
+++ b/src/main.c
@@ -124,10 +124,12 @@ void parseOptions(int argc, char ** argv, Options * options) {
argcLeft--;
}
else if(strcmp(argv[i],"--create-db")==0) {
+ options->stdOutput = 1;
options->createDB = 1;
argcLeft--;
}
else if(strcmp(argv[i],"--update-db")==0) {
+ options->stdOutput = 1;
options->updateDB = 1;
argcLeft--;
}
@@ -289,11 +291,16 @@ void changeToUser(Options * options) {
}
void openLogFiles(Options * options, FILE ** out, FILE ** err) {
+ mode_t prev;
+
if(options->stdOutput) {
flushWarningLog();
return;
}
+ /* be sure to create log files w/ rw permissions*/
+ prev = umask(0066);
+
if(NULL==(*out=fopen(options->logFile,"a"))) {
ERROR("problem opening file \"%s\" for writing\n",
options->logFile);
@@ -305,6 +312,8 @@ void openLogFiles(Options * options, FILE ** out, FILE ** err) {
options->errorFile);
exit(EXIT_FAILURE);
}
+
+ umask(prev);
}
void openDB(Options * options, char * argv0) {
@@ -477,4 +486,3 @@ int main(int argc, char * argv[]) {
return EXIT_SUCCESS;
}
-/* vim:set shiftwidth=8 tabstop=8 expandtab: */