| 19 |
#include "common.h" |
#include "common.h" |
| 20 |
#include "io.h" |
#include "io.h" |
| 21 |
#include "menu.h" |
#include "menu.h" |
| 22 |
|
#include <signal.h> |
| 23 |
#include <string.h> |
#include <string.h> |
| 24 |
|
#include <unistd.h> |
| 25 |
|
|
| 26 |
void |
void |
| 27 |
app_help (void) |
app_help (void) |
| 110 |
if (daemon) |
if (daemon) |
| 111 |
init_daemon (); |
init_daemon (); |
| 112 |
|
|
| 113 |
//Initialize log |
//Change current dir |
| 114 |
strncpy (app_home_dir, argv[0], rindex (argv[0], '/') - argv[0] + 1); |
strncpy (app_home_dir, argv[0], rindex (argv[0], '/') - argv[0] + 1); |
| 115 |
strcat (app_home_dir, "../"); |
strcat (app_home_dir, "../"); |
| 116 |
|
chdir (app_home_dir); |
| 117 |
|
|
| 118 |
|
//Initialize log |
| 119 |
strcpy (app_temp_dir, "/tmp/lbbs/"); |
strcpy (app_temp_dir, "/tmp/lbbs/"); |
| 120 |
mkdir (app_temp_dir, 0700); |
mkdir (app_temp_dir, 0750); |
| 121 |
strcpy (log_dir, app_home_dir); |
strcpy (log_dir, app_home_dir); |
| 122 |
strcat (log_dir, "log/"); |
strcat (log_dir, "log/"); |
| 123 |
strcpy (file_log_std, log_dir); |
strcpy (file_log_std, log_dir); |
| 124 |
strcpy (file_log_error, log_dir); |
strcpy (file_log_error, log_dir); |
| 125 |
strcat (file_log_std, "bbsd.log"); |
strcat (file_log_std, "bbsd.log"); |
| 126 |
strcat (file_log_error, "error.log"); |
strcat (file_log_error, "error.log"); |
| 127 |
mkdir (log_dir, 0700); |
mkdir (log_dir, 0750); |
| 128 |
if (log_begin (file_log_std, file_log_error) < 0) |
if (log_begin (file_log_std, file_log_error) < 0) |
| 129 |
exit (-1); |
exit (-1); |
| 130 |
|
|
| 145 |
if (load_menu (&bbs_menu, file_config) < 0) |
if (load_menu (&bbs_menu, file_config) < 0) |
| 146 |
exit (-3); |
exit (-3); |
| 147 |
|
|
| 148 |
|
//Set signal handler |
| 149 |
|
signal (SIG_RELOAD_MENU, reload_bbs_menu); |
| 150 |
|
|
| 151 |
//Initialize socket server |
//Initialize socket server |
| 152 |
net_server (BBS_address, BBS_port); |
net_server (BBS_address, BBS_port); |
| 153 |
|
|