]>
jfr.im git - irc/gameservirc.git/blob - gameserv/news.cpp
7 List
<myString
> todaysnews
;
8 void addNews(List
<myString
> &news
, const char *fmt
, ...);
9 void showNews(char *nick
, List
<myString
> &news
);
10 void saveNews(char *filename
, List
<myString
> &news
);
11 void loadNews(char *filename
, List
<myString
> &news
);
13 void addNews(List
<myString
> &news
, const char *fmt
, ...)
18 log("Adding news item: fmt = %s", fmt
);
22 input
= new char[1024];
23 memset(input
, 0, 1024);
33 case 'd': sprintf(input
, "%s%d", input
, va_arg(args
, int)); break;
34 case 's': sprintf(input
, "%s%s", input
, va_arg(args
, char *)); break;
35 case 'S': sprintf(input
, "%s%s", input
, s_GameServ
); break;
38 sprintf(input
, "%s%ld", input
, va_arg(args
, long int)); break;
43 sprintf(input
, "%s%c", input
, *t
);
48 log("New News Item: %s", input
);
52 nstring
= new myString(input
);
53 news
.insertAtBack(nstring
);
61 void showNews(char *nick
, List
<myString
> &news
)
65 ListNode
<myString
> *it
;
68 notice(s_GameServ
, nick
, "The Daily Happenings: ");
71 notice(s_GameServ
, nick
, "%s", it
->getData()->getString());
74 notice(s_GameServ
, nick
, "End of News");
78 void saveNews(char *filename
, List
<myString
> &news
)
84 outfile
.open(filename
);
87 log("Error opening %s", filename
);
91 ListNode
<myString
> *it
;
95 outfile
<< it
->getData()->getString() << endl
;
101 void loadNews(char *filename
, List
<myString
> &news
)
106 // First clear the old news out
107 ListNode
<myString
> *it
, *temp
;
117 // Now load from the file
119 infile
.open(filename
);
122 log("Error opening %s", filename
);
128 buf
= new char [1024];
130 while (infile
.getline(buf
, 1024, '\n'))
132 string
= new myString(buf
);
133 news
.insertAtBack(string
);