Create log file directories using /set log_create_file_mode + exec-bit.

Patch by Noah Levitt <nlevitt at columbia.edu>


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3022 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-11-21 20:18:24 +00:00 committed by cras
commit ad27d4aac4
3 changed files with 17 additions and 4 deletions

View file

@ -47,6 +47,7 @@ static const char *log_item_types[] = {
const 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)
@ -116,7 +117,7 @@ int log_start_logging(LOG_REC *log)
/* path may contain variables (%time, $vars),
make sure the directory is created */
dir = g_dirname(log->real_fname);
mkpath(dir, LOG_DIR_CREATE_MODE);
mkpath(dir, log_dir_create_mode);
g_free(dir);
}
@ -557,6 +558,11 @@ static void read_settings(void)
{
log_timestamp = 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;
if (log_file_create_mode & 0004) log_dir_create_mode |= 0001;
}
void log_init(void)

View file

@ -1,8 +1,6 @@
#ifndef __LOG_H
#define __LOG_H
#define LOG_DIR_CREATE_MODE 0700
enum {
LOG_ITEM_TARGET, /* channel, query, .. */
LOG_ITEM_WINDOW_REFNUM