summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLemonBoy <LemonBoy@users.noreply.github.com>2017-07-30 10:06:38 +0200
committerGitHub <noreply@github.com>2017-07-30 10:06:38 +0200
commit663a8e71543787256ba4a58956521a1103be9909 (patch)
treef5880babb5fbfd500107cd8d9c530d2ec4729ef7
parent437fbef6eb8f605320841cba119d3abbb3571a75 (diff)
parent2907a82b446d9d0a25157aa4ab560b49853f80d2 (diff)
downloadirssi-663a8e71543787256ba4a58956521a1103be9909.zip
Merge pull request #734 from trasz/master
Don't compute log_dir_create_mode in three different places.
-rw-r--r--configure.ac2
-rw-r--r--src/core/log.c5
-rw-r--r--src/core/log.h2
-rw-r--r--src/core/rawlog.c18
-rw-r--r--src/fe-common/core/fe-log.c9
5 files changed, 13 insertions, 23 deletions
diff --git a/configure.ac b/configure.ac
index 459d3a2d..c7c8edef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,7 +158,7 @@ AC_ARG_ENABLE(true-color,
want_truecolor=no)
AC_ARG_ENABLE(gregex,
-[ --disable-gregex Build without GRegex (fall back to regex.h)],
+[ --disable-gregex Build without GRegex (fall back to regex.h)],
if test x$enableval = xno ; then
want_gregex=no
else
diff --git a/src/core/log.c b/src/core/log.c
index 6af1effc..cee1dab5 100644
--- a/src/core/log.c
+++ b/src/core/log.c
@@ -33,6 +33,8 @@
#define DEFAULT_LOG_FILE_CREATE_MODE 600
GSList *logs;
+int log_file_create_mode;
+int log_dir_create_mode;
static const char *log_item_types[] = {
"target",
@@ -42,8 +44,6 @@ static const char *log_item_types[] = {
};
static char *log_timestamp;
-static int log_file_create_mode;
-static int log_dir_create_mode;
static int rotate_tag;
static int log_item_str2type(const char *type)
@@ -562,7 +562,6 @@ static void read_settings(void)
log_timestamp = g_strdup(settings_get_str("log_timestamp"));
log_file_create_mode = octal2dec(settings_get_int("log_create_mode"));
-
log_dir_create_mode = log_file_create_mode;
if (log_file_create_mode & 0400) log_dir_create_mode |= 0100;
if (log_file_create_mode & 0040) log_dir_create_mode |= 0010;
diff --git a/src/core/log.h b/src/core/log.h
index fae872c7..5a07859b 100644
--- a/src/core/log.h
+++ b/src/core/log.h
@@ -35,6 +35,8 @@ struct _LOG_REC {
};
extern GSList *logs;
+extern int log_file_create_mode;
+extern int log_dir_create_mode;
/* Create log record - you still need to call log_update() to actually add it
into log list */
diff --git a/src/core/rawlog.c b/src/core/rawlog.c
index 5927e730..2ec155fa 100644
--- a/src/core/rawlog.c
+++ b/src/core/rawlog.c
@@ -20,6 +20,7 @@
#include "module.h"
#include "rawlog.h"
+#include "log.h"
#include "modules.h"
#include "signals.h"
#include "commands.h"
@@ -31,8 +32,6 @@
static int rawlog_lines;
static int signal_rawlog;
-static int log_file_create_mode;
-static int log_dir_create_mode;
RAWLOG_REC *rawlog_create(void)
{
@@ -131,8 +130,13 @@ void rawlog_open(RAWLOG_REC *rawlog, const char *fname)
log_file_create_mode);
g_free(path);
+ if (rawlog->handle == -1) {
+ g_warning("rawlog open() failed: %s", strerror(errno));
+ return;
+ }
+
rawlog_dump(rawlog, rawlog->handle);
- rawlog->logging = rawlog->handle != -1;
+ rawlog->logging = TRUE;
}
void rawlog_close(RAWLOG_REC *rawlog)
@@ -140,7 +144,7 @@ void rawlog_close(RAWLOG_REC *rawlog)
if (rawlog->logging) {
write_buffer_flush();
close(rawlog->handle);
- rawlog->logging = 0;
+ rawlog->logging = FALSE;
}
}
@@ -174,12 +178,6 @@ void rawlog_set_size(int lines)
static void read_settings(void)
{
rawlog_set_size(settings_get_int("rawlog_lines"));
- log_file_create_mode = octal2dec(settings_get_int("log_create_mode"));
- log_dir_create_mode = log_file_create_mode;
- if (log_file_create_mode & 0400) log_dir_create_mode |= 0100;
- if (log_file_create_mode & 0040) log_dir_create_mode |= 0010;
- if (log_file_create_mode & 0004) log_dir_create_mode |= 0001;
-
}
static void cmd_rawlog(const char *data, SERVER_REC *server, void *item)
diff --git a/src/fe-common/core/fe-log.c b/src/fe-common/core/fe-log.c
index 5bc5c4e1..37b29990 100644
--- a/src/fe-common/core/fe-log.c
+++ b/src/fe-common/core/fe-log.c
@@ -49,8 +49,6 @@ static THEME_REC *log_theme;
static int skip_next_printtext;
static char *log_theme_name;
-static int log_dir_create_mode;
-
static char **autolog_ignore_targets;
static char *log_colorizer_strip(const char *str)
@@ -676,7 +674,6 @@ static void sig_theme_destroyed(THEME_REC *theme)
static void read_settings(void)
{
int old_autolog = autolog_level;
- int log_file_create_mode;
g_free_not_null(autolog_path);
autolog_path = g_strdup(settings_get_str("autolog_path"));
@@ -704,12 +701,6 @@ static void read_settings(void)
log_theme = log_theme_name == NULL ? NULL :
theme_load(log_theme_name);
- log_file_create_mode = octal2dec(settings_get_int("log_create_mode"));
- log_dir_create_mode = log_file_create_mode;
- if (log_file_create_mode & 0400) log_dir_create_mode |= 0100;
- if (log_file_create_mode & 0040) log_dir_create_mode |= 0010;
- if (log_file_create_mode & 0004) log_dir_create_mode |= 0001;
-
if (autolog_ignore_targets != NULL)
g_strfreev(autolog_ignore_targets);