1 /*
2 * Copyright (C) 2000,2001 Florian Sander
3 *
4 * $Id: slang_gseen_commands.c (1.1.0) for AversE-XP v1.0+ 2003/12/06 [Xp-AvR] Exp $
5 */
6
slang_send_botnick()7 static void slang_send_botnick()
8 {
9 strncat(slang_text_buf, botname, sizeof(slang_text_buf));
10 }
11
slang_send_query()12 static void slang_send_query()
13 {
14 if (glob_query)
15 strncat(slang_text_buf, glob_query, sizeof(slang_text_buf));
16 }
17
slang_send_laston()18 static void slang_send_laston()
19 {
20 if (glob_laston)
21 strncat(slang_text_buf, glob_laston, sizeof(slang_text_buf));
22 }
23
slang_send_otherchan()24 static void slang_send_otherchan()
25 {
26 if (glob_otherchan)
27 strncat(slang_text_buf, glob_otherchan, sizeof(slang_text_buf));
28 }
29
slang_send_othernick()30 static void slang_send_othernick()
31 {
32 if (glob_othernick)
33 strncat(slang_text_buf, glob_othernick, sizeof(slang_text_buf));
34 }
35
slang_send_remotebot()36 static void slang_send_remotebot()
37 {
38 if (glob_remotebot)
39 strncat(slang_text_buf, glob_remotebot, sizeof(slang_text_buf));
40 }
41
slang_send_snick()42 static void slang_send_snick()
43 {
44 if (glob_seendat)
45 strncat(slang_text_buf, glob_seendat->nick, sizeof(slang_text_buf));
46 }
47
slang_send_shost()48 static void slang_send_shost()
49 {
50 if (glob_seendat)
51 strncat(slang_text_buf, glob_seendat->host, sizeof(slang_text_buf));
52 }
53
slang_send_schan()54 static void slang_send_schan()
55 {
56 if (glob_seendat)
57 strncat(slang_text_buf, glob_seendat->chan, sizeof(slang_text_buf));
58 }
59
slang_send_swhen()60 static void slang_send_swhen()
61 {
62 char *dur;
63
64 if (glob_seendat) {
65 dur = gseen_duration(now - glob_seendat->when);
66 strncat(slang_text_buf, dur, sizeof(slang_text_buf));
67 }
68 }
69
slang_send_stime()70 static void slang_send_stime()
71 {
72 time_t tt;
73 char t[20];
74
75 if (glob_seendat) {
76 tt = glob_seendat->when;
77 strftime(t, 19, "%d.%m. %H:%M", localtime(&tt));
78 strncat(slang_text_buf, t, sizeof(slang_text_buf));
79 }
80 }
81
slang_send_spent()82 static void slang_send_spent()
83 {
84 char *dur;
85
86 if (glob_seendat) {
87 dur = gseen_duration(glob_seendat->spent);
88 strncat(slang_text_buf, dur, sizeof(slang_text_buf));
89 }
90 }
91
slang_send_smsg()92 static void slang_send_smsg()
93 {
94 if (glob_seendat)
95 strncat(slang_text_buf, glob_seendat->msg, sizeof(slang_text_buf));
96 }
97
slang_send_numresults()98 static void slang_send_numresults()
99 {
100 char buf[7];
101
102 snprintf(buf, sizeof(buf), "%d", numresults);
103 strncat(slang_text_buf, buf, sizeof(slang_text_buf));
104 }
105
slang_send_punisher()106 static void slang_send_punisher()
107 {
108 char *reason;
109 int len;
110
111 if (glob_seendat) {
112 reason = strchr(glob_seendat->msg, ' ');
113 if (!reason)
114 strncat(slang_text_buf, glob_seendat->msg, sizeof(slang_text_buf));
115 else {
116 len = (int) reason - (int) glob_seendat->msg;
117 strncat(slang_text_buf, glob_seendat->msg, (sizeof(slang_text_buf) < len) ? sizeof(slang_text_buf) : len);
118 }
119 }
120 }
121
slang_send_kickreason()122 static void slang_send_kickreason()
123 {
124 char *reason;
125
126 if (glob_seendat) {
127 reason = strchr(glob_seendat->msg, ' ');
128 if (reason)
129 strncat(slang_text_buf, reason, sizeof(slang_text_buf));
130 }
131 }
132
slang_send_rnick()133 static void slang_send_rnick()
134 {
135 if (glob_seenrequest) {
136 Assert(glob_seenrequest->by);
137 Assert(glob_seenrequest->by->who);
138 strncat(slang_text_buf, glob_seenrequest->by->who, sizeof(slang_text_buf));
139 }
140 }
141
slang_send_rchan()142 static void slang_send_rchan()
143 {
144 if (glob_seenrequest) {
145 Assert(glob_seenrequest->by);
146 Assert(glob_seenrequest->by->chan);
147 strncat(slang_text_buf, glob_seenrequest->by->chan, sizeof(slang_text_buf));
148 }
149 }
150
slang_send_rhost()151 static void slang_send_rhost()
152 {
153 if (glob_seenrequest) {
154 Assert(glob_seenrequest->by);
155 Assert(glob_seenrequest->by->host);
156 strncat(slang_text_buf, glob_seenrequest->by->host, sizeof(slang_text_buf));
157 }
158 }
159
slang_send_rtime()160 static void slang_send_rtime()
161 {
162 time_t tt;
163 char t[20];
164
165 if (glob_seenrequest) {
166 Assert(glob_seenrequest->by);
167 tt = glob_seenrequest->by->when;
168 strftime(t, sizeof(t), "%d.%m. %H:%M", localtime(&tt));
169 strncat(slang_text_buf, t, sizeof(slang_text_buf));
170 }
171 }
172
slang_send_rwhen()173 static void slang_send_rwhen()
174 {
175 if (glob_seenrequest) {
176 Assert(glob_seenrequest->by);
177 strncat(slang_text_buf, gseen_duration(now - glob_seenrequest->by->when), sizeof(slang_text_buf));
178 }
179 }
180
slang_send_requests()181 static void slang_send_requests()
182 {
183 char buf[7];
184
185 snprintf(buf, sizeof(buf), "%d", glob_seenrequests);
186 strncat(slang_text_buf, buf, sizeof(slang_text_buf));
187 }
188
slang_send_totalnicks()189 static void slang_send_totalnicks()
190 {
191 char buf[7];
192
193 snprintf(buf, sizeof(buf), "%d", glob_totalnicks);
194 strncat(slang_text_buf, buf, sizeof(slang_text_buf));
195 }
196
slang_send_totalbytes()197 static void slang_send_totalbytes()
198 {
199 char buf[20];
200
201 snprintf(buf, sizeof(buf), "%d", glob_totalbytes);
202 strncat(slang_text_buf, buf, sizeof(slang_text_buf));
203 }
204
slang_send_nick()205 static void slang_send_nick()
206 {
207 if (glob_nick)
208 strncat(slang_text_buf, glob_nick, sizeof(slang_text_buf));
209 }
210
211 struct slang_text_commands slang_text_gseen_command_table[] =
212 {
213 {"botnick", slang_send_botnick},
214 {"query", slang_send_query},
215 {"laston", slang_send_laston},
216 {"otherchan", slang_send_otherchan},
217 {"othernick", slang_send_othernick},
218 {"remotebot", slang_send_remotebot},
219 {"snick", slang_send_snick},
220 {"swhen", slang_send_swhen},
221 {"stime", slang_send_stime},
222 {"shost", slang_send_shost},
223 {"schan", slang_send_schan},
224 {"spent", slang_send_spent},
225 {"smsg", slang_send_smsg},
226 {"numresults", slang_send_numresults},
227 {"snick2", slang_send_smsg},
228 {"bnbot", slang_send_smsg},
229 {"punisher", slang_send_punisher},
230 {"kickreason", slang_send_kickreason},
231 {"rnick", slang_send_rnick},
232 {"rchan", slang_send_rchan},
233 {"rhost", slang_send_rhost},
234 {"rtime", slang_send_rtime},
235 {"rwhen", slang_send_rwhen},
236 {"requests", slang_send_requests},
237 {"totalnicks", slang_send_totalnicks},
238 {"totalbytes", slang_send_totalbytes},
239 {"nick", slang_send_nick},
240 {0, 0}
241 };
242