diff options
-rw-r--r-- | include/extern.h | 2 | ||||
-rw-r--r-- | include/services.h | 29 | ||||
-rw-r--r-- | src/core/os_news.c | 24 | ||||
-rw-r--r-- | src/operserv.c | 3 |
4 files changed, 34 insertions, 24 deletions
diff --git a/include/extern.h b/include/extern.h index c73a27de0..d1898fd46 100644 --- a/include/extern.h +++ b/include/extern.h @@ -688,6 +688,8 @@ E int check_szline(const char *nick, char *ip); E Server *server_global(Server * s, char *msg); +E std::vector<NewsItem *> News; + E bool CheckDefCon(DefconLevel Level); E bool CheckDefCon(int level, DefconLevel Level); E void AddDefCon(int level, DefconLevel Level); diff --git a/include/services.h b/include/services.h index 874c53675..d5596c833 100644 --- a/include/services.h +++ b/include/services.h @@ -1023,6 +1023,35 @@ typedef struct ignore_data { /*************************************************************************/ +/* News stuff */ + +#define MSG_MAX 11 + +enum NewsType +{ + NEWS_LOGON, + NEWS_RANDOM, + NEWS_OPER +}; + +struct newsmsgs +{ + NewsType type; + const char *name; + int msgs[MSG_MAX + 1]; +}; + +struct NewsItem +{ + NewsType type; + uint32 num; + std::string Text; + char who[NICKMAX]; + time_t time; +}; + +/*************************************************************************/ + /* Mail data */ struct mailinfo_ { diff --git a/src/core/os_news.c b/src/core/os_news.c index 103c416b2..4ca0e057d 100644 --- a/src/core/os_news.c +++ b/src/core/os_news.c @@ -32,30 +32,6 @@ #define MSG_DELETED_ALL 11 #define MSG_MAX 11 -enum NewsType -{ - NEWS_LOGON, - NEWS_RANDOM, - NEWS_OPER -}; - -struct newsmsgs { - NewsType type; - const char *name; - int msgs[MSG_MAX + 1]; -}; - -struct NewsItem -{ - NewsType type; - uint32 num; - std::string Text; - char who[NICKMAX]; - time_t time; -}; - -std::vector<NewsItem *> News; - struct newsmsgs msgarray[] = { {NEWS_LOGON, "LOGON", {NEWS_LOGON_SYNTAX, diff --git a/src/operserv.c b/src/operserv.c index 76d680a99..65cf50930 100644 --- a/src/operserv.c +++ b/src/operserv.c @@ -31,6 +31,9 @@ static void free_sqline_entry(SList * slist, void *item); static int is_szline_entry_equal(SList * slist, void *item1, void *item2); static void free_szline_entry(SList * slist, void *item); +/* News items */ +std::vector<NewsItem *> News; + std::vector<std::bitset<32> > DefCon; int DefConModesSet = 0; ChannelInfo DefConModesCI; /* ChannelInfo containg params for locked modes |