X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/2f61d1d75ac52f239e760ecea02332eedc4682bd..3b7fa78b1de8f9ee8718cba3da3b2db522b70620:/src/recdb.c?ds=sidebyside diff --git a/src/recdb.c b/src/recdb.c index af56631..f42284c 100644 --- a/src/recdb.c +++ b/src/recdb.c @@ -3,9 +3,9 @@ * * This file is part of x3. * - * srvx is free software; you can redistribute it and/or modify + * x3 is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -93,7 +93,7 @@ typedef struct recdb_outfile { } RECDB_OUT; #ifdef HAVE_MMAP -static int mmap_error=0; +static int mmap_error; #endif #define EOL '\n' @@ -617,9 +617,13 @@ parse_database(const char *filename) if (fstat(fileno(recdb.f), &statinfo)) { log_module(MAIN_LOG, LOG_ERROR, "Unable to fstat database file '%s': %s", filename, strerror(errno)); + fclose(recdb.f); return NULL; } recdb.length = (size_t)statinfo.st_size; + if (recdb.length == 0) { + return alloc_database(); + } #ifdef HAVE_MMAP /* Try mmap */