Log: Fix error handling of debug file open
Logging is not yet initialized, we have to use fprintf() here. Thanks to Pavel Tvrdik for noticing and debugging it.
This commit is contained in:
parent
f1f39bb9d8
commit
f0b822a831
1 changed files with 6 additions and 1 deletions
|
@ -20,6 +20,7 @@
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "nest/bird.h"
|
#include "nest/bird.h"
|
||||||
#include "nest/cli.h"
|
#include "nest/cli.h"
|
||||||
|
@ -314,7 +315,11 @@ log_init_debug(char *f)
|
||||||
else if (!*f)
|
else if (!*f)
|
||||||
dbgf = stderr;
|
dbgf = stderr;
|
||||||
else if (!(dbgf = fopen(f, "a")))
|
else if (!(dbgf = fopen(f, "a")))
|
||||||
log(L_ERR "Error opening debug file `%s': %m", f);
|
{
|
||||||
|
/* Cannot use die() nor log() here, logging is not yet initialized */
|
||||||
|
fprintf(stderr, "bird: Unable to open debug file %s: %s\n", f, strerror(errno));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
if (dbgf)
|
if (dbgf)
|
||||||
setvbuf(dbgf, NULL, _IONBF, 0);
|
setvbuf(dbgf, NULL, _IONBF, 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue