… | |
… | |
186 | */ |
186 | */ |
187 | void |
187 | void |
188 | init_globals (void) |
188 | init_globals (void) |
189 | { |
189 | { |
190 | if (settings.logfilename[0] == 0) |
190 | if (settings.logfilename[0] == 0) |
191 | logfile = stderr; |
191 | set_logfd (-1); |
192 | else if ((logfile = fopen (settings.logfilename, "a")) == NULL) |
192 | else |
193 | { |
193 | { |
|
|
194 | int logfd = open (settings.logfilename, O_CREAT|O_WRONLY|O_APPEND, 0666); |
|
|
195 | |
|
|
196 | if (logfd >= 0) |
|
|
197 | set_logfd (logfd); |
|
|
198 | else |
|
|
199 | { |
|
|
200 | set_logfd (-1); |
194 | fprintf (stderr, "Unable to open %s as the logfile - will use stderr instead\n", settings.logfilename); |
201 | LOG (llevError, "Unable to open %s as the logfile - will use stderr instead", settings.logfilename); |
195 | logfile = stderr; |
202 | } |
196 | } |
203 | } |
197 | else |
|
|
198 | setvbuf (logfile, NULL, _IOLBF, 0); |
|
|
199 | } |
204 | } |
200 | |
205 | |
201 | void |
206 | void |
202 | init_dynamic (void) |
207 | init_dynamic (void) |
203 | { |
208 | { |