diff options
Diffstat (limited to 'src/datafiles.c')
-rw-r--r-- | src/datafiles.c | 786 |
1 files changed, 393 insertions, 393 deletions
diff --git a/src/datafiles.c b/src/datafiles.c index 4316da7b4..5fcacf33e 100644 --- a/src/datafiles.c +++ b/src/datafiles.c @@ -30,21 +30,21 @@ static time_t lastwarn = 0; */ int get_file_version(dbFILE * f) { - FILE *fp = f->fp; - int version = - fgetc(fp) << 24 | fgetc(fp) << 16 | fgetc(fp) << 8 | fgetc(fp); - if (ferror(fp)) { - log_perror("Error reading version number on %s", f->filename); - return 0; - } else if (feof(fp)) { - alog("Error reading version number on %s: End of file detected", - f->filename); - return 0; - } else if (version < 1) { - alog("Invalid version number (%d) on %s", version, f->filename); - return 0; - } - return version; + FILE *fp = f->fp; + int version = + fgetc(fp) << 24 | fgetc(fp) << 16 | fgetc(fp) << 8 | fgetc(fp); + if (ferror(fp)) { + log_perror("Error reading version number on %s", f->filename); + return 0; + } else if (feof(fp)) { + alog("Error reading version number on %s: End of file detected", + f->filename); + return 0; + } else if (version < 1) { + alog("Invalid version number (%d) on %s", version, f->filename); + return 0; + } + return version; } /*************************************************************************/ @@ -56,15 +56,15 @@ int get_file_version(dbFILE * f) */ int write_file_version(dbFILE * f, uint32 version) { - FILE *fp = f->fp; - if (fputc(version >> 24 & 0xFF, fp) < 0 || - fputc(version >> 16 & 0xFF, fp) < 0 || - fputc(version >> 8 & 0xFF, fp) < 0 || - fputc(version & 0xFF, fp) < 0) { - log_perror("Error writing version number on %s", f->filename); - return 0; - } - return 1; + FILE *fp = f->fp; + if (fputc(version >> 24 & 0xFF, fp) < 0 || + fputc(version >> 16 & 0xFF, fp) < 0 || + fputc(version >> 8 & 0xFF, fp) < 0 || + fputc(version & 0xFF, fp) < 0) { + log_perror("Error writing version number on %s", f->filename); + return 0; + } + return 1; } /*************************************************************************/ @@ -77,40 +77,40 @@ int write_file_version(dbFILE * f, uint32 version) */ static dbFILE *open_db_read(const char *service, const char *filename) { - dbFILE *f; - FILE *fp; - - f = (dbFILE *)scalloc(sizeof(*f), 1); - if (!f) { - log_perror("Can't read %s database %s", service, filename); - if (time(NULL) - lastwarn > WarningTimeout) { - ircdproto->SendGlobops(NULL, - "Write error on %s: Memory allocation failed", - filename); - lastwarn = time(NULL); - } - return NULL; - } - strscpy(f->filename, filename, sizeof(f->filename)); - f->mode = 'r'; - fp = fopen(f->filename, "rb"); - if (!fp) { - int errno_save = errno; - if (errno != ENOENT) - log_perror("Can not read %s database %s", service, - f->filename); - if (time(NULL) - lastwarn > WarningTimeout) { - ircdproto->SendGlobops(NULL, "Write error on %s: %s", f->filename, - strerror(errno)); - lastwarn = time(NULL); - } - free(f); - errno = errno_save; - return NULL; - } - f->fp = fp; - f->backupfp = NULL; - return f; + dbFILE *f; + FILE *fp; + + f = (dbFILE *)scalloc(sizeof(*f), 1); + if (!f) { + log_perror("Can't read %s database %s", service, filename); + if (time(NULL) - lastwarn > WarningTimeout) { + ircdproto->SendGlobops(NULL, + "Write error on %s: Memory allocation failed", + filename); + lastwarn = time(NULL); + } + return NULL; + } + strscpy(f->filename, filename, sizeof(f->filename)); + f->mode = 'r'; + fp = fopen(f->filename, "rb"); + if (!fp) { + int errno_save = errno; + if (errno != ENOENT) + log_perror("Can not read %s database %s", service, + f->filename); + if (time(NULL) - lastwarn > WarningTimeout) { + ircdproto->SendGlobops(NULL, "Write error on %s: %s", f->filename, + strerror(errno)); + lastwarn = time(NULL); + } + free(f); + errno = errno_save; + return NULL; + } + f->fp = fp; + f->backupfp = NULL; + return f; } /*************************************************************************/ @@ -123,132 +123,132 @@ static dbFILE *open_db_read(const char *service, const char *filename) * @return dbFile struct */ static dbFILE *open_db_write(const char *service, const char *filename, - uint32 version) + uint32 version) { - dbFILE *f; - int fd; + dbFILE *f; + int fd; #ifdef _WIN32 - char buffer[_MAX_PATH]; - char win32filename[MAXPATHLEN]; + char buffer[_MAX_PATH]; + char win32filename[MAXPATHLEN]; - /* Get the current working directory: */ - if (_getcwd(buffer, _MAX_PATH) == NULL) { - alog("Warning: Unable to set Current working directory"); - } + /* Get the current working directory: */ + if (_getcwd(buffer, _MAX_PATH) == NULL) { + alog("Warning: Unable to set Current working directory"); + } #endif - f = (dbFILE *)scalloc(sizeof(*f), 1); - if (!f) { - log_perror("Can not read %s database %s", service, filename); - return NULL; - } - strscpy(f->filename, filename, sizeof(f->filename)); + f = (dbFILE *)scalloc(sizeof(*f), 1); + if (!f) { + log_perror("Can not read %s database %s", service, filename); + return NULL; + } + strscpy(f->filename, filename, sizeof(f->filename)); #ifndef _WIN32 - filename = f->filename; + filename = f->filename; #else - snprintf(win32filename, sizeof(win32filename), "%s\\%s", buffer, - f->filename); - filename = win32filename; + snprintf(win32filename, sizeof(win32filename), "%s\\%s", buffer, + f->filename); + filename = win32filename; #endif - f->mode = 'w'; - - *f->backupname = 0; - snprintf(f->backupname, sizeof(f->backupname), "%s.save", filename); - if (!*f->backupname || strcmp(f->backupname, filename) == 0) { - int errno_save = errno; - alog("Opening %s database %s for write: Filename too long", - service, filename); - free(f); - errno = errno_save; - return NULL; - } + f->mode = 'w'; + + *f->backupname = 0; + snprintf(f->backupname, sizeof(f->backupname), "%s.save", filename); + if (!*f->backupname || strcmp(f->backupname, filename) == 0) { + int errno_save = errno; + alog("Opening %s database %s for write: Filename too long", + service, filename); + free(f); + errno = errno_save; + return NULL; + } #ifndef _WIN32 - unlink(filename); + unlink(filename); #else - DeleteFile(filename); + DeleteFile(filename); #endif - f->backupfp = fopen(filename, "rb"); + f->backupfp = fopen(filename, "rb"); #ifdef _WIN32 - if (!MoveFileExA(filename, f->backupname, MOVEFILE_COPY_ALLOWED) - && GetLastError() != ENOENT) { - int errno_save = GetLastError(); + if (!MoveFileExA(filename, f->backupname, MOVEFILE_COPY_ALLOWED) + && GetLastError() != ENOENT) { + int errno_save = GetLastError(); #else - if (rename(filename, f->backupname) < 0 && errno != ENOENT) { - int errno_save = errno; + if (rename(filename, f->backupname) < 0 && errno != ENOENT) { + int errno_save = errno; #endif - static int walloped = 0; - if (!walloped) { - walloped++; - ircdproto->SendGlobops(NULL, "Can not back up %s database %s", - service, filename); - } + static int walloped = 0; + if (!walloped) { + walloped++; + ircdproto->SendGlobops(NULL, "Can not back up %s database %s", + service, filename); + } #ifdef _WIN32 - if (debug) { - if (errno == ENOENT) { - alog("debug: Error %d (ENOENT) : the file or directory does not exist", errno, filename); - } else if (errno == EACCES) { - alog("debug: Error %d (EACCES) : error while attempting to access file", errno); - } else { - alog("debug: Error %d", errno); - } - } + if (debug) { + if (errno == ENOENT) { + alog("debug: Error %d (ENOENT) : the file or directory does not exist", errno, filename); + } else if (errno == EACCES) { + alog("debug: Error %d (EACCES) : error while attempting to access file", errno); + } else { + alog("debug: Error %d", errno); + } + } #else - if (debug) { - alog("debug: Error %d", errno); - } + if (debug) { + alog("debug: Error %d", errno); + } #endif - errno = errno_save; - log_perror("Can not back up %s database %s", service, filename); - if (!NoBackupOkay) { - if (f->backupfp) - fclose(f->backupfp); - free(f); - errno = errno_save; - return NULL; - } - *f->backupname = 0; - } + errno = errno_save; + log_perror("Can not back up %s database %s", service, filename); + if (!NoBackupOkay) { + if (f->backupfp) + fclose(f->backupfp); + free(f); + errno = errno_save; + return NULL; + } + *f->backupname = 0; + } #ifndef _WIN32 - unlink(filename); + unlink(filename); #else - DeleteFile(filename); + DeleteFile(filename); #endif - /* Use open() to avoid people sneaking a new file in under us */ + /* Use open() to avoid people sneaking a new file in under us */ #ifndef _WIN32 - fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0666); + fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0666); #else - fd = open(filename, O_WRONLY | O_CREAT | O_EXCL | _O_BINARY, 0666); + fd = open(filename, O_WRONLY | O_CREAT | O_EXCL | _O_BINARY, 0666); #endif - f->fp = fdopen(fd, "wb"); /* will fail and return NULL if fd < 0 */ - if (!f->fp || !write_file_version(f, version)) { - int errno_save = errno; - static int walloped = 0; - if (!walloped) { - walloped++; - ircdproto->SendGlobops(NULL, "Can't write to %s database %s", - service, filename); - } - errno = errno_save; - log_perror("Can't write to %s database %s", service, filename); - if (f->fp) { - fclose(f->fp); + f->fp = fdopen(fd, "wb"); /* will fail and return NULL if fd < 0 */ + if (!f->fp || !write_file_version(f, version)) { + int errno_save = errno; + static int walloped = 0; + if (!walloped) { + walloped++; + ircdproto->SendGlobops(NULL, "Can't write to %s database %s", + service, filename); + } + errno = errno_save; + log_perror("Can't write to %s database %s", service, filename); + if (f->fp) { + fclose(f->fp); #ifndef _WIN32 - unlink(filename); + unlink(filename); #else - DeleteFile(filename); + DeleteFile(filename); #endif - } - if (*f->backupname && rename(f->backupname, filename) < 0) - log_perror("Cannot restore backup copy of %s", filename); + } + if (*f->backupname && rename(f->backupname, filename) < 0) + log_perror("Cannot restore backup copy of %s", filename); /* Then the Lord said unto Moses, thou shalt free what thou hast malloced - * -- codemastr */ - free(f); - errno = errno_save; - return NULL; - } - return f; + * -- codemastr */ + free(f); + errno = errno_save; + return NULL; + } + return f; } /*************************************************************************/ @@ -268,16 +268,16 @@ static dbFILE *open_db_write(const char *service, const char *filename, * @return dbFile struct */ dbFILE *open_db(const char *service, const char *filename, - const char *mode, uint32 version) + const char *mode, uint32 version) { - if (*mode == 'r') { - return open_db_read(service, filename); - } else if (*mode == 'w') { - return open_db_write(service, filename, version); - } else { - errno = EINVAL; - return NULL; - } + if (*mode == 'r') { + return open_db_read(service, filename); + } else if (*mode == 'w') { + return open_db_write(service, filename, version); + } else { + errno = EINVAL; + return NULL; + } } /*************************************************************************/ @@ -292,47 +292,47 @@ dbFILE *open_db(const char *service, const char *filename, */ void restore_db(dbFILE * f) { - int errno_save = errno; - - if (f->mode == 'w') { - int ok = 0; /* Did we manage to restore the old file? */ - errno = errno_save = 0; - if (*f->backupname && strcmp(f->backupname, f->filename) != 0) { - if (rename(f->backupname, f->filename) == 0) - ok = 1; - } - if (!ok && f->backupfp) { - char buf[1024]; - unsigned int i; - ok = 1; - if (fseek(f->fp, 0, SEEK_SET) < 0) - ok = 0; - while (ok && (i = fread(buf, 1, sizeof(buf), f->backupfp)) > 0) { - if (fwrite(buf, 1, i, f->fp) != i) - ok = 0; - } - if (ok) { - fflush(f->fp); - ftruncate(fileno(f->fp), ftell(f->fp)); - } - } - if (!ok && errno > 0) - log_perror("Unable to restore backup of %s", f->filename); - errno_save = errno; - if (f->backupfp) - fclose(f->backupfp); - if (*f->backupname) + int errno_save = errno; + + if (f->mode == 'w') { + int ok = 0; /* Did we manage to restore the old file? */ + errno = errno_save = 0; + if (*f->backupname && strcmp(f->backupname, f->filename) != 0) { + if (rename(f->backupname, f->filename) == 0) + ok = 1; + } + if (!ok && f->backupfp) { + char buf[1024]; + unsigned int i; + ok = 1; + if (fseek(f->fp, 0, SEEK_SET) < 0) + ok = 0; + while (ok && (i = fread(buf, 1, sizeof(buf), f->backupfp)) > 0) { + if (fwrite(buf, 1, i, f->fp) != i) + ok = 0; + } + if (ok) { + fflush(f->fp); + ftruncate(fileno(f->fp), ftell(f->fp)); + } + } + if (!ok && errno > 0) + log_perror("Unable to restore backup of %s", f->filename); + errno_save = errno; + if (f->backupfp) + fclose(f->backupfp); + if (*f->backupname) #ifndef _WIN32 - unlink(f->backupname); + unlink(f->backupname); #else - DeleteFile(f->backupname); + DeleteFile(f->backupname); #endif - } - fclose(f->fp); - if (!errno_save) - errno_save = errno; - free(f); - errno = errno_save; + } + fclose(f->fp); + if (!errno_save) + errno_save = errno; + free(f); + errno = errno_save; } /*************************************************************************/ @@ -345,18 +345,18 @@ void restore_db(dbFILE * f) */ void close_db(dbFILE * f) { - if (f->mode == 'w' && *f->backupname - && strcmp(f->backupname, f->filename) != 0) { - if (f->backupfp) - fclose(f->backupfp); + if (f->mode == 'w' && *f->backupname + && strcmp(f->backupname, f->filename) != 0) { + if (f->backupfp) + fclose(f->backupfp); #ifndef _WIN32 - unlink(f->backupname); + unlink(f->backupname); #else - DeleteFile(f->backupname); + DeleteFile(f->backupname); #endif - } - fclose(f->fp); - free(f); + } + fclose(f->fp); + free(f); } /*************************************************************************/ @@ -377,14 +377,14 @@ void close_db(dbFILE * f) */ int read_int16(uint16 * ret, dbFILE * f) { - int c1, c2; - - c1 = fgetc(f->fp); - c2 = fgetc(f->fp); - if (c1 == EOF || c2 == EOF) - return -1; - *ret = c1 << 8 | c2; - return 0; + int c1, c2; + + c1 = fgetc(f->fp); + c2 = fgetc(f->fp); + if (c1 == EOF || c2 == EOF) + return -1; + *ret = c1 << 8 | c2; + return 0; } /*************************************************************************/ @@ -398,11 +398,11 @@ int read_int16(uint16 * ret, dbFILE * f) */ int write_int16(uint16 val, dbFILE * f) { - if (fputc((val >> 8) & 0xFF, f->fp) == EOF - || fputc(val & 0xFF, f->fp) == EOF) { - return -1; - } - return 0; + if (fputc((val >> 8) & 0xFF, f->fp) == EOF + || fputc(val & 0xFF, f->fp) == EOF) { + return -1; + } + return 0; } /*************************************************************************/ @@ -416,16 +416,16 @@ int write_int16(uint16 val, dbFILE * f) */ int read_int32(uint32 * ret, dbFILE * f) { - int c1, c2, c3, c4; - - c1 = fgetc(f->fp); - c2 = fgetc(f->fp); - c3 = fgetc(f->fp); - c4 = fgetc(f->fp); - if (c1 == EOF || c2 == EOF || c3 == EOF || c4 == EOF) - return -1; - *ret = c1 << 24 | c2 << 16 | c3 << 8 | c4; - return 0; + int c1, c2, c3, c4; + + c1 = fgetc(f->fp); + c2 = fgetc(f->fp); + c3 = fgetc(f->fp); + c4 = fgetc(f->fp); + if (c1 == EOF || c2 == EOF || c3 == EOF || c4 == EOF) + return -1; + *ret = c1 << 24 | c2 << 16 | c3 << 8 | c4; + return 0; } /*************************************************************************/ @@ -439,15 +439,15 @@ int read_int32(uint32 * ret, dbFILE * f) */ int write_int32(uint32 val, dbFILE * f) { - if (fputc((val >> 24) & 0xFF, f->fp) == EOF) - return -1; - if (fputc((val >> 16) & 0xFF, f->fp) == EOF) - return -1; - if (fputc((val >> 8) & 0xFF, f->fp) == EOF) - return -1; - if (fputc((val) & 0xFF, f->fp) == EOF) - return -1; - return 0; + if (fputc((val >> 24) & 0xFF, f->fp) == EOF) + return -1; + if (fputc((val >> 16) & 0xFF, f->fp) == EOF) + return -1; + if (fputc((val >> 8) & 0xFF, f->fp) == EOF) + return -1; + if (fputc((val) & 0xFF, f->fp) == EOF) + return -1; + return 0; } /*************************************************************************/ @@ -461,13 +461,13 @@ int write_int32(uint32 val, dbFILE * f) */ int read_ptr(void **ret, dbFILE * f) { - int c; + int c; - c = fgetc(f->fp); - if (c == EOF) - return -1; - *ret = (c ? (void *) 1 : (void *) 0); - return 0; + c = fgetc(f->fp); + if (c == EOF) + return -1; + *ret = (c ? (void *) 1 : (void *) 0); + return 0; } /*************************************************************************/ @@ -481,9 +481,9 @@ int read_ptr(void **ret, dbFILE * f) */ int write_ptr(const void *ptr, dbFILE * f) { - if (fputc(ptr ? 1 : 0, f->fp) == EOF) - return -1; - return 0; + if (fputc(ptr ? 1 : 0, f->fp) == EOF) + return -1; + return 0; } /*************************************************************************/ @@ -497,22 +497,22 @@ int write_ptr(const void *ptr, dbFILE * f) */ int read_string(char **ret, dbFILE * f) { - char *s; - uint16 len; - - if (read_int16(&len, f) < 0) - return -1; - if (len == 0) { - *ret = NULL; - return 0; - } - s = (char *)scalloc(len, 1); - if (len != fread(s, 1, len, f->fp)) { - free(s); - return -1; - } - *ret = s; - return 0; + char *s; + uint16 len; + + if (read_int16(&len, f) < 0) + return -1; + if (len == 0) { + *ret = NULL; + return 0; + } + s = (char *)scalloc(len, 1); + if (len != fread(s, 1, len, f->fp)) { + free(s); + return -1; + } + *ret = s; + return 0; } /*************************************************************************/ @@ -526,20 +526,20 @@ int read_string(char **ret, dbFILE * f) */ int write_string(const char *s, dbFILE * f) { - uint32 len; - - if (!s) - return write_int16(0, f); - len = strlen(s); - if (len > 65534) - len = 65534; - if (write_int16((uint16) (len + 1), f) < 0) - return -1; - if (len > 0 && fwrite(s, 1, len, f->fp) != len) - return -1; - if (fputc(0, f->fp) == EOF) - return -1; - return 0; + uint32 len; + + if (!s) + return write_int16(0, f); + len = strlen(s); + if (len > 65534) + len = 65534; + if (write_int16((uint16) (len + 1), f) < 0) + return -1; + if (len > 0 && fwrite(s, 1, len, f->fp) != len) + return -1; + if (fputc(0, f->fp) == EOF) + return -1; + return 0; } /*************************************************************************/ @@ -554,14 +554,14 @@ int write_string(const char *s, dbFILE * f) static void rename_database(const char *name, char *ext) { - char destpath[PATH_MAX]; + char destpath[PATH_MAX]; - snprintf(destpath, sizeof(destpath), "backups/%s.%s", name, ext); - if (rename(name, destpath) != 0) { - alog("Backup of %s failed.", name); - ircdproto->SendGlobops(s_OperServ, "WARNING! Backup of %s failed.", - name); - } + snprintf(destpath, sizeof(destpath), "backups/%s.%s", name, ext); + if (rename(name, destpath) != 0) { + alog("Backup of %s failed.", name); + ircdproto->SendGlobops(s_OperServ, "WARNING! Backup of %s failed.", + name); + } } /*************************************************************************/ @@ -574,72 +574,72 @@ static void rename_database(const char *name, char *ext) static void remove_backups(void) { - char ext[9]; - char path[PATH_MAX]; + char ext[9]; + char path[PATH_MAX]; - time_t t; - struct tm tm; + time_t t; + struct tm tm; - time(&t); - t -= (60 * 60 * 24 * KeepBackups); - tm = *localtime(&t); - strftime(ext, sizeof(ext), "%Y%m%d", &tm); + time(&t); + t -= (60 * 60 * 24 * KeepBackups); + tm = *localtime(&t); + strftime(ext, sizeof(ext), "%Y%m%d", &tm); - snprintf(path, sizeof(path), "backups/%s.%s", NickDBName, ext); + snprintf(path, sizeof(path), "backups/%s.%s", NickDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - snprintf(path, sizeof(path), "backups/%s.%s", ChanDBName, ext); + snprintf(path, sizeof(path), "backups/%s.%s", ChanDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - snprintf(path, sizeof(path), "backups/%s.%s", OperDBName, ext); + snprintf(path, sizeof(path), "backups/%s.%s", OperDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - snprintf(path, sizeof(path), "backups/%s.%s", NewsDBName, ext); + snprintf(path, sizeof(path), "backups/%s.%s", NewsDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - snprintf(path, sizeof(path), "backups/%s.%s", ExceptionDBName, ext); + snprintf(path, sizeof(path), "backups/%s.%s", ExceptionDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - if (s_BotServ) { - snprintf(path, sizeof(path), "backups/%s.%s", BotDBName, ext); + if (s_BotServ) { + snprintf(path, sizeof(path), "backups/%s.%s", BotDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - } - if (s_HostServ) { - snprintf(path, sizeof(path), "backups/%s.%s", HostDBName, ext); + } + if (s_HostServ) { + snprintf(path, sizeof(path), "backups/%s.%s", HostDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - } - if (NSEmailReg) { - snprintf(path, sizeof(path), "backups/%s.%s", PreNickDBName, ext); + } + if (NSEmailReg) { + snprintf(path, sizeof(path), "backups/%s.%s", PreNickDBName, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif - } + } } /*************************************************************************/ @@ -652,50 +652,50 @@ static void remove_backups(void) void backup_databases(void) { - time_t t; - struct tm tm; + time_t t; + struct tm tm; - if (!KeepBackups) { - return; - } + if (!KeepBackups) { + return; + } - time(&t); - tm = *localtime(&t); + time(&t); + tm = *localtime(&t); - if (!curday) { - curday = tm.tm_yday; - return; - } + if (!curday) { + curday = tm.tm_yday; + return; + } - if (curday != tm.tm_yday) { + if (curday != tm.tm_yday) { - char ext[9]; + char ext[9]; - send_event(EVENT_DB_BACKUP, 1, EVENT_START); - alog("Backing up databases"); + send_event(EVENT_DB_BACKUP, 1, EVENT_START); + alog("Backing up databases"); - remove_backups(); + remove_backups(); - curday = tm.tm_yday; - strftime(ext, sizeof(ext), "%Y%m%d", &tm); + curday = tm.tm_yday; + strftime(ext, sizeof(ext), "%Y%m%d", &tm); - rename_database(NickDBName, ext); - if (s_BotServ) { - rename_database(BotDBName, ext); - } - rename_database(ChanDBName, ext); - if (s_HostServ) { - rename_database(HostDBName, ext); - } - if (NSEmailReg) { - rename_database(PreNickDBName, ext); - } + rename_database(NickDBName, ext); + if (s_BotServ) { + rename_database(BotDBName, ext); + } + rename_database(ChanDBName, ext); + if (s_HostServ) { + rename_database(HostDBName, ext); + } + if (NSEmailReg) { + rename_database(PreNickDBName, ext); + } - rename_database(OperDBName, ext); - rename_database(NewsDBName, ext); - rename_database(ExceptionDBName, ext); - send_event(EVENT_DB_BACKUP, 1, EVENT_STOP); - } + rename_database(OperDBName, ext); + rename_database(NewsDBName, ext); + rename_database(ExceptionDBName, ext); + send_event(EVENT_DB_BACKUP, 1, EVENT_STOP); + } } /*************************************************************************/ @@ -703,55 +703,55 @@ void backup_databases(void) void ModuleDatabaseBackup(const char *dbname) { - time_t t; - struct tm tm; + time_t t; + struct tm tm; - if (!KeepBackups) { - return; - } + if (!KeepBackups) { + return; + } - time(&t); - tm = *localtime(&t); + time(&t); + tm = *localtime(&t); - if (!curday) { - curday = tm.tm_yday; - return; - } + if (!curday) { + curday = tm.tm_yday; + return; + } - if (curday != tm.tm_yday) { + if (curday != tm.tm_yday) { - char ext[9]; + char ext[9]; - if (debug) { - alog("Module Database Backing up %s", dbname); - } - ModuleRemoveBackups(dbname); - curday = tm.tm_yday; - strftime(ext, sizeof(ext), "%Y%m%d", &tm); - rename_database(dbname, ext); - } + if (debug) { + alog("Module Database Backing up %s", dbname); + } + ModuleRemoveBackups(dbname); + curday = tm.tm_yday; + strftime(ext, sizeof(ext), "%Y%m%d", &tm); + rename_database(dbname, ext); + } } /*************************************************************************/ void ModuleRemoveBackups(const char *dbname) { - char ext[9]; - char path[PATH_MAX]; + char ext[9]; + char path[PATH_MAX]; - time_t t; - struct tm tm; + time_t t; + struct tm tm; - time(&t); - t -= (60 * 60 * 24 * KeepBackups); - tm = *localtime(&t); - strftime(ext, sizeof(ext), "%Y%m%d", &tm); + time(&t); + t -= (60 * 60 * 24 * KeepBackups); + tm = *localtime(&t); + strftime(ext, sizeof(ext), "%Y%m%d", &tm); - snprintf(path, sizeof(path), "backups/%s.%s", dbname, ext); + snprintf(path, sizeof(path), "backups/%s.%s", dbname, ext); #ifndef _WIN32 - unlink(path); + unlink(path); #else - DeleteFile(path); + DeleteFile(path); #endif } |