--- lbbs/src/common.c 2005/03/19 08:23:05 1.4 +++ lbbs/src/common.c 2005/05/07 12:15:30 1.8 @@ -15,7 +15,10 @@ * * ***************************************************************************/ +#include "menu.h" #include +#include +#include //Version information char app_version[256] = "LBBS-devel version 1.0"; @@ -38,33 +41,37 @@ char DB_username[50]; char DB_password[50]; char DB_database[50]; +//Global declaration for system +int SYS_exit; +int SYS_child_process_count; + //Common function -const char* +const char * str_space (char *string, int length) { int i; for (i = 0; i < length; i++) - { - string[i] = ' '; - } + { + string[i] = ' '; + } string[length] = '\0'; return string; } -const char* +const char * get_time_str (char *string, size_t length) { - char week[10],buffer[256]; + char week[10], buffer[256]; time_t curtime; struct tm *loctime; - + curtime = time (NULL); loctime = localtime (&curtime); strftime (buffer, 256, "%Y年%m月%d日%H:%M:%S ", loctime); - + switch (loctime->tm_wday) - { + { case 0: strcpy (week, "星期天"); break; @@ -86,10 +93,40 @@ get_time_str (char *string, size_t lengt case 6: strcpy (week, "星期六"); break; - } + } strcat (buffer, week); - + strncpy (string, buffer, length); - + return string; } + +void +reload_bbs_menu (int i) +{ + if (reload_menu (&bbs_menu) < 0) + log_error ("Reload menu failed\n"); + else + log_std ("Reload menu successfully\n"); + +} + +void +system_exit (int i) +{ + SYS_exit = 1; +} + +void +child_exit (int i) +{ + int pid; + + pid = wait (0); + + if (pid > 0) + { + SYS_child_process_count --; + log_std ("Child process (%d) exited\n", pid); + } +}