-/* @(#) $Id: ./src/monitord/compress_log.c, 2011/09/08 dcid Exp $
- */
-
/* Copyright (C) 2009 Trend Micro Inc.
* All right reserved.
*
#include "shared.h"
#include "monitord.h"
-#include "os_zlib/os_zlib.h"
+#ifdef ZLIB_SYSTEM
+#include <zlib.h>
+#else
+#include "../external/zlib-1.2.11/zlib.h"
+#endif
-/* gzips a log file */
-void OS_CompressLog(char *logfile)
+/* gzip a log file */
+void OS_CompressLog(const char *logfile)
{
FILE *log;
gzFile zlog;
char buf[OS_MAXSTR + 1];
-
/* Do not compress */
- if(mond.compress == 0)
+ if (mond.compress == 0) {
return;
+ }
-
- /* Clearing the memory */
- memset(logfileGZ,'\0',OS_FLSIZE +1);
+ /* Clear memory */
+ memset(logfileGZ, '\0', OS_FLSIZE + 1);
memset(buf, '\0', OS_MAXSTR + 1);
-
- /* Setting the umask */
+ /* Set umask */
umask(0027);
-
- /* Creating the gzip file name */
+ /* Create the gzip file name */
snprintf(logfileGZ, OS_FLSIZE, "%s.gz", logfile);
-
- /* Reading log file */
+ /* Read log file */
log = fopen(logfile, "r");
- if(!log)
- {
- /* Do not warn in here, since the alert file may not exist. */
+ if (!log) {
+ /* Do not warn in here, since the alert file may not exist */
return;
}
- /* Opening compressed file */
+ /* Open compressed file */
zlog = gzopen(logfileGZ, "w");
- if(!zlog)
- {
+ if (!zlog) {
fclose(log);
- merror(FOPEN_ERROR, ARGV0, logfileGZ);
+ merror(FOPEN_ERROR, ARGV0, logfileGZ, errno, strerror(errno));
return;
}
- for(;;)
- {
- len = fread(buf, 1, OS_MAXSTR, log);
- if(len <= 0)
+ for (;;) {
+ len = (int) fread(buf, 1, OS_MAXSTR, log);
+ if (len <= 0) {
break;
- if(gzwrite(zlog, buf, (unsigned)len) != len)
+ }
+ if (gzwrite(zlog, buf, (unsigned)len) != len) {
merror("%s: Compression error: %s", ARGV0, gzerror(zlog, &err));
+ }
}
- /* Closing */
fclose(log);
gzclose(zlog);
- /* Removing uncompressed file */
+ /* Remove uncompressed file */
unlink(logfile);
return;
}
-
-/* EOF */