fixed a wrong check when setting a log target
This commit is contained in:
parent
3478885962
commit
88e67887b7
@ -42,6 +42,9 @@ public:
|
||||
|
||||
int daemonize (bool chdir_to_root = true, int fork_count = 1) QSE_CPP_NOEXCEPT;
|
||||
|
||||
int chroot (const qse_wchar_t* wpath) QSE_CPP_NOEXCEPT;
|
||||
int chroot (const qse_mchar_t* mpath) QSE_CPP_NOEXCEPT;
|
||||
|
||||
protected:
|
||||
bool _root_only;
|
||||
|
||||
|
@ -49,14 +49,7 @@ int AppRoot::daemonize (bool chdir_to_root, int fork_count) QSE_CPP_NOEXCEPT
|
||||
}
|
||||
|
||||
int n = QSE_FORK();
|
||||
if (n == -1)
|
||||
{
|
||||
//throw DaemonError ("can't xp_fork");
|
||||
//if (err_code) *err_code = ERR_FORK;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// the parent exits
|
||||
if (n == -1) return -1;
|
||||
if (n != 0) QSE_EXIT(0); // TODO: should i call exit() in stdlib.h?
|
||||
}
|
||||
|
||||
@ -128,6 +121,16 @@ int AppRoot::switchUser () QSE_CPP_NOEXCEPT
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int AppRoot::chroot (const qse_mchar_t* mpath) QSE_CPP_NOEXCEPT
|
||||
{
|
||||
QSE_CHROOT (mpath);
|
||||
}
|
||||
|
||||
int AppRoot::chroot (const qse_wchar_t* mpath) QSE_CPP_NOEXCEPT
|
||||
{
|
||||
}
|
||||
|
||||
void AppRoot::on_signal () QSE_CPP_NOEXCEPT
|
||||
{
|
||||
}
|
||||
|
@ -229,7 +229,7 @@ int qse_log_init (qse_log_t* log, qse_mmgr_t* mmgr, const qse_char_t* ident, int
|
||||
log->t.syslog_remote.sock = -1;
|
||||
|
||||
if (potflags & QSE_LOG_FILE) log->flags |= QSE_LOG_FILE;
|
||||
if (target->file)
|
||||
if (target && target->file)
|
||||
{
|
||||
if (qse_strlen(target->file) >= QSE_COUNTOF(log->t.file.pathbuf))
|
||||
{
|
||||
@ -247,7 +247,7 @@ int qse_log_init (qse_log_t* log, qse_mmgr_t* mmgr, const qse_char_t* ident, int
|
||||
if (potflags & QSE_LOG_SYSLOG) log->flags |= QSE_LOG_SYSLOG;
|
||||
|
||||
if (potflags & QSE_LOG_SYSLOG_REMOTE) log->flags |= QSE_LOG_SYSLOG_REMOTE;
|
||||
if (qse_skadfamily(&target->syslog_remote) >= 0) log->t.syslog_remote.addr = target->syslog_remote;
|
||||
if (target && qse_skadfamily(&target->syslog_remote) >= 0) log->t.syslog_remote.addr = target->syslog_remote;
|
||||
|
||||
if (ident) qse_strxcpy (log->ident, QSE_COUNTOF(log->ident), ident);
|
||||
if (qse_mtx_init(&log->mtx, mmgr) <= -1)
|
||||
@ -381,7 +381,7 @@ int qse_log_settarget (qse_log_t* log, int flags, const qse_log_target_t* target
|
||||
/* If you just want to set the target file path without enable QSE_LOG_FILE,
|
||||
* just set target->file without QSE_LOG_FILE in the flags.
|
||||
* later, you can call this function with QSE_LOG_FILE set but with target->file or QSE_NULL */
|
||||
if (target->file)
|
||||
if (target && target->file)
|
||||
{
|
||||
if (log->t.file.path && log->t.file.path != log->t.file.pathbuf) QSE_MMGR_FREE (log->mmgr, log->t.file.path);
|
||||
|
||||
@ -400,7 +400,7 @@ int qse_log_settarget (qse_log_t* log, int flags, const qse_log_target_t* target
|
||||
if (flags & QSE_LOG_SYSLOG) log->flags |= QSE_LOG_SYSLOG;
|
||||
|
||||
if (flags & QSE_LOG_SYSLOG_REMOTE) log->flags |= QSE_LOG_SYSLOG_REMOTE;
|
||||
if (qse_skadfamily(&target->syslog_remote) >= 0) log->t.syslog_remote.addr = target->syslog_remote;
|
||||
if (target && qse_skadfamily(&target->syslog_remote) >= 0) log->t.syslog_remote.addr = target->syslog_remote;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user