ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/numeric.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/numeric.c (file contents):
Revision 1937 by michael, Sat May 4 20:54:13 2013 UTC vs.
Revision 3555 by michael, Fri May 16 12:43:24 2014 UTC

# Line 1 | Line 1
1   /*
2 < *  ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3 < *  numeric.c: Numeric handling functions.
2 > *  ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3   *
4 < *  Copyright (C) 2002 by the past and present ircd coders, and others.
4 > *  Copyright (c) 1997-2014 ircd-hybrid development team
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 18 | Line 17
17   *  along with this program; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
19   *  USA
20 < *
21 < *  $Id$
20 > */
21 >
22 > /*! \file numeric.c
23 > * \brief Declarations of numeric replies.
24 > * \version $Id$
25   */
26  
27   #include "stdinc.h"
28   #include "numeric.h"
29  
30  
31 < static const char *replies[] = {
31 > static const char *const replies[] =
32 > {
33   /* 000 */ NULL,
34 < /* 001 RPL_WELCOME */ ":%s 001 %s :Welcome to the %s Internet Relay Chat Network %s!%s@%s",
35 < /* 002 RPL_YOURHOST */ ":%s 002 %s :Your host is %s, running version %s",
36 < /* 003 RPL_CREATED */ ":%s 003 %s :This server was created %s",
37 < /* 004 RPL_MYINFO */ ":%s 004 %s %s %s %s bciklmnoprstveIORS bkloveI",
38 < /* 005 RPL_ISUPPORT */ ":%s 005 %s %s :are supported by this server",
34 > /* 001 RPL_WELCOME */ ":Welcome to the %s Internet Relay Chat Network %s",
35 > /* 002 RPL_YOURHOST */ ":Your host is %s, running version %s",
36 > /* 003 RPL_CREATED */ ":This server was created %s",
37 > #ifdef HALFOPS
38 > /* 004 RPL_MYINFO */ "%s %s %s bciklmnoprstveIMORS bkloveIh",
39 > #else
40 > /* 004 RPL_MYINFO */ "%s %s %s bciklmnoprstveIMORS bkloveI",
41 > #endif
42 > /* 005 RPL_ISUPPORT */ "%s :are supported by this server",
43   /* 006 */ NULL,
44   /* 007 */ NULL,
45   /* 008 */ NULL,
46   /* 009 */ NULL,
47 < /* 010 RPL_REDIR */ ":%s 010 %s %s %d :Please use this Server/Port instead",
47 > /* 010 RPL_REDIR */ "%s %u :Please use this Server/Port instead",
48   /* 011 */ NULL,
49   /* 012 */ NULL,
50   /* 013 */ NULL,
51   /* 014 */ NULL,
52 < /* 015 RPL_MAP */ ":%s 015 %s :%s%s%s [%u clients] (%u%%)",
53 < /* 016 RPL_MAPMORE */ ":%s 016 %s :%s%s --> *more*",
54 < /* 017 RPL_MAPEND */ ":%s 017 %s :End of /MAP",
52 > /* 015 RPL_MAP */ ":%s%s",
53 > /* 016 RPL_MAPMORE */ ":%s%s --> *more*",
54 > /* 017 RPL_MAPEND */ ":End of /MAP",
55   /* 018 */ NULL,
56   /* 019 */ NULL,
57   /* 020 */ NULL,
# Line 69 | Line 76 | static const char *replies[] = {
76   /* 039 */ NULL,
77   /* 040 */ NULL,
78   /* 041 */ NULL,
79 < /* 042 RPL_YOURID */ ":%s 042 %s %s :your unique ID",
79 > /* 042 RPL_YOURID */ "%s :your unique ID",
80   /* 043 */ NULL,
81   /* 044 */ NULL,
82   /* 045 */ NULL,
# Line 227 | Line 234 | static const char *replies[] = {
234   /* 197 */ NULL,
235   /* 198 */ NULL,
236   /* 199 */ NULL,
237 < /* 200 RPL_TRACELINK */ ":%s 200 %s Link %s %s %s",
238 < /* 201 RPL_TRACECONNECTING */ ":%s 201 %s Try. %s %s",
239 < /* 202 RPL_TRACEHANDSHAKE */ ":%s 202 %s H.S. %s %s",
240 < /* 203 RPL_TRACEUNKNOWN */ ":%s 203 %s ???? %s %s (%s) %d",
241 < /* 204 RPL_TRACEOPERATOR */ ":%s 204 %s Oper %s %s (%s) %lu %lu",
242 < /* 205 RPL_TRACEUSER */ ":%s 205 %s User %s %s (%s) %lu %lu",
243 < /* 206 RPL_TRACESERVER */ ":%s 206 %s Serv %s %dS %dC %s %s!%s@%s %lu",
237 > /* 200 RPL_TRACELINK */ "Link %s %s %s",
238 > /* 201 RPL_TRACECONNECTING */ "Try. %s %s",
239 > /* 202 RPL_TRACEHANDSHAKE */ "H.S. %s %s",
240 > /* 203 RPL_TRACEUNKNOWN */ "???? %s %s (%s) %d",
241 > /* 204 RPL_TRACEOPERATOR */ "Oper %s %s (%s) %lu %u",
242 > /* 205 RPL_TRACEUSER */ "User %s %s (%s) %lu %u",
243 > /* 206 RPL_TRACESERVER */ "Serv %s %uS %uC %s %s!%s@%s %lu",
244   /* 207 */ NULL,
245 < /* 208 RPL_TRACENEWTYPE */ ":%s 208 %s <newtype> 0 %s",
246 < /* 209 RPL_TRACECLASS */ ":%s 209 %s Class %s %d",
245 > /* 208 RPL_TRACENEWTYPE */ "<newtype> 0 %s",
246 > /* 209 RPL_TRACECLASS */ "Class %s %d",
247   /* 210 */ NULL,
248 < /* 211 RPL_STATSLINKINFO */ ":%s 211 %s %s %u %u %llu %u %llu :%u %u %s",
249 < /* 212 RPL_STATSCOMMANDS */ ":%s 212 %s %s %u %llu :%u",
250 < /* 213 RPL_STATSCLINE */ ":%s 213 %s %c %s %s %s %d %s",
251 < /* 214 RPL_STATSNLINE */ ":%s 214 %s %c %s * %s %d %s",
252 < /* 215 RPL_STATSILINE */ ":%s 215 %s %c %s * %s@%s %d %s",
253 < /* 216 RPL_STATSKLINE */ ":%s 216 %s %c %s * %s :%s",
254 < /* 217 RPL_STATSQLINE */ ":%s 217 %s %c %u %s :%s",
255 < /* 218 RPL_STATSYLINE */ ":%s 218 %s %c %s %u %u %u %u %u %u %u/%u %u/%u %s",
256 < /* 219 RPL_ENDOFSTATS */ ":%s 219 %s %c :End of /STATS report",
257 < /* 220 RPL_STATSPLINE */ ":%s 220 %s %c %d %s %d %s :%s",
258 < /* 221 RPL_UMODEIS */ ":%s 221 %s %s",
248 > /* 211 RPL_STATSLINKINFO */ "%s %u %u %llu %u %llu :%u %u %s",
249 > /* 212 RPL_STATSCOMMANDS */ "%s %u %llu :%u",
250 > /* 213 RPL_STATSCLINE */ "%c %s %s %s %d %s",
251 > /* 214 */ NULL,
252 > /* 215 RPL_STATSILINE */ "%c %s * %s@%s %d %s",
253 > /* 216 RPL_STATSKLINE */ "%c %s * %s :%s",
254 > /* 217 RPL_STATSQLINE */ "%c %u %s :%s",
255 > /* 218 RPL_STATSYLINE */ "%c %s %u %u %u %u %u %u %u/%u %u/%u %s",
256 > /* 219 RPL_ENDOFSTATS */ "%c :End of /STATS report",
257 > /* 220 RPL_STATSPLINE */ "%c %d %s %d %s :%s",
258 > /* 221 RPL_UMODEIS */ "%s",
259   /* 222 */ NULL,
260   /* 223 */ NULL,
261   /* 224 */ NULL,
262 < /* 225 RPL_STATSDLINE */ ":%s 225 %s %c %s :%s",
263 < /* 226 RPL_STATSALINE */ ":%s 226 %s %s",
262 > /* 225 RPL_STATSDLINE */ "%c %s :%s",
263 > /* 226 RPL_STATSALINE */ "%s",
264   /* 227 */ NULL,
265   /* 228 */ NULL,
266   /* 229 */ NULL,
# Line 268 | Line 275 | static const char *replies[] = {
275   /* 238 */ NULL,
276   /* 239 */ NULL,
277   /* 240 */ NULL,
278 < /* 241 RPL_STATSLLINE */ ":%s 241 %s %c %s * %s %d %s",
279 < /* 242 RPL_STATSUPTIME */ ":%s 242 %s :Server Up %d days, %d:%02d:%02d",
280 < /* 243 RPL_STATSOLINE */ ":%s 243 %s %c %u %s@%s * %s %s %s",
281 < /* 244 RPL_STATSHLINE */ ":%s 244 %s %c %s * %s %d %s",
282 < /* 245 */ NULL,
283 < /* 246 RPL_STATSSERVICE */ ":%s 246 %s %c %s * %s %d %d",
284 < /* 247 RPL_STATSXLINE */ ":%s 247 %s %c %d %s :%s",
285 < /* 248 RPL_STATSULINE */ ":%s 248 %s U %s %s@%s %s",
278 > /* 241 RPL_STATSLLINE */ "%c %s * %s %d %s",
279 > /* 242 RPL_STATSUPTIME */ ":Server Up %d days, %d:%02d:%02d",
280 > /* 243 RPL_STATSOLINE */ "%c %s@%s * %s %s %s",
281 > /* 244 RPL_STATSHLINE */ "%c %s * %s %d %s",
282 > /* 245 RPL_STATSTLINE */ "T %s %s",
283 > /* 246 RPL_STATSSERVICE */ "%c %s * %s %d %d",
284 > /* 247 RPL_STATSXLINE */ "%c %d %s :%s",
285 > /* 248 RPL_STATSULINE */ "U %s %s@%s %s",
286   /* 249 */ NULL,
287 < /* 250 RPL_STATSCONN */ ":%s 250 %s :Highest connection count: %d (%d clients) (%llu connections received)",
288 < /* 251 RPL_LUSERCLIENT */ ":%s 251 %s :There are %d users and %d invisible on %d servers",
289 < /* 252 RPL_LUSEROP */ ":%s 252 %s %d :IRC Operators online",
290 < /* 253 RPL_LUSERUNKNOWN */ ":%s 253 %s %d :unknown connection(s)",
291 < /* 254 RPL_LUSERCHANNELS */ ":%s 254 %s %d :channels formed",
292 < /* 255 RPL_LUSERME */ ":%s 255 %s :I have %d clients and %d servers",
293 < /* 256 RPL_ADMINME */ ":%s 256 %s :Administrative info about %s",
294 < /* 257 RPL_ADMINLOC1 */ ":%s 257 %s :%s",
295 < /* 258 RPL_ADMINLOC2 */ ":%s 258 %s :%s",
296 < /* 259 RPL_ADMINEMAIL */ ":%s 259 %s :%s",
287 > /* 250 RPL_STATSCONN */ ":Highest connection count: %d (%d clients) (%llu connections received)",
288 > /* 251 RPL_LUSERCLIENT */ ":There are %d users and %d invisible on %d servers",
289 > /* 252 RPL_LUSEROP */ "%d :IRC Operators online",
290 > /* 253 RPL_LUSERUNKNOWN */ "%d :unknown connection(s)",
291 > /* 254 RPL_LUSERCHANNELS */ "%d :channels formed",
292 > /* 255 RPL_LUSERME */ ":I have %d clients and %d servers",
293 > /* 256 RPL_ADMINME */ ":Administrative info about %s",
294 > /* 257 RPL_ADMINLOC1 */ ":%s",
295 > /* 258 RPL_ADMINLOC2 */ ":%s",
296 > /* 259 RPL_ADMINEMAIL */ ":%s",
297   /* 260 */ NULL,
298   /* 261 */ NULL,
299 < /* 262 RPL_ENDOFTRACE */ ":%s 262 %s %s :End of TRACE",
300 < /* 263 RPL_LOAD2HI */ ":%s 263 %s :Server load is temporarily too heavy. Please wait a while and try again.",
299 > /* 262 RPL_ENDOFTRACE */ "%s :End of TRACE",
300 > /* 263 RPL_LOAD2HI */ ":Server load is temporarily too heavy. Please wait a while and try again.",
301   /* 264 */ NULL,
302 < /* 265 RPL_LOCALUSERS */ ":%s 265 %s :Current local users: %d  Max: %d",
303 < /* 266 RPL_GLOBALUSERS */ ":%s 266 %s :Current global users: %d  Max: %d",
302 > /* 265 RPL_LOCALUSERS */ ":Current local users: %d  Max: %d",
303 > /* 266 RPL_GLOBALUSERS */ ":Current global users: %d  Max: %d",
304   /* 267 */ NULL,
305   /* 268 */ NULL,
306   /* 269 */ NULL,
# Line 303 | Line 310 | static const char *replies[] = {
310   /* 273 */ NULL,
311   /* 274 */ NULL,
312   /* 275 */ NULL,
313 < /* 276 */ NULL,
313 > /* 276 RPL_WHOISCERTFP */ "%s :has client certificate fingerprint %s",
314   /* 277 */ NULL,
315   /* 278 */ NULL,
316   /* 279 */ NULL,
317   /* 280 */ NULL,
318 < /* 281 RPL_ACCEPTLIST */ ":%s 281 %s :%s",
319 < /* 282 RPL_ENDOFACCEPT */ ":%s 282 %s :End of /ACCEPT list.",
318 > /* 281 RPL_ACCEPTLIST */ ":%s",
319 > /* 282 RPL_ENDOFACCEPT */ ":End of /ACCEPT list.",
320   /* 283 */ NULL,
321   /* 284 */ NULL,
322 < /* 285 */ NULL,
322 > /* 285 RPL_NEWHOSTIS */ ":Your new host is %s",
323   /* 286 */ NULL,
324   /* 287 */ NULL,
325   /* 288 */ NULL,
# Line 328 | Line 335 | static const char *replies[] = {
335   /* 298 */ NULL,
336   /* 299 */ NULL,
337   /* 300 */ NULL,
338 < /* 301 RPL_AWAY */ ":%s 301 %s %s :%s",
338 > /* 301 RPL_AWAY */ "%s :%s",
339   /* 302 RPL_USERHOST */ ":%s 302 %s :%s",
340   /* 303 RPL_ISON */ ":%s 303 %s :",
341   /* 304 */ NULL,
342 < /* 305 RPL_UNAWAY */ ":%s 305 %s :You are no longer marked as being away",
343 < /* 306 RPL_NOWAWAY */ ":%s 306 %s :You have been marked as being away",
344 < /* 307 RPL_WHOISREGNICK */ ":%s 307 %s %s :has identified for this nick",
345 < /* 308 RPL_WHOISADMIN */ ":%s 313 %s %s :is a Server Administrator",
342 > /* 305 RPL_UNAWAY */ ":You are no longer marked as being away",
343 > /* 306 RPL_NOWAWAY */ ":You have been marked as being away",
344 > /* 307 RPL_WHOISREGNICK */ "%s :has identified for this nick",
345 > /* 308 */ NULL,
346   /* 309 */ NULL,
347   /* 310 */ NULL,
348 < /* 311 RPL_WHOISUSER */ ":%s 311 %s %s %s %s * :%s",
349 < /* 312 RPL_WHOISSERVER */ ":%s 312 %s %s %s :%s",
350 < /* 313 RPL_WHOISOPERATOR */ ":%s 313 %s %s :is an IRC Operator",
351 < /* 314 RPL_WHOWASUSER */ ":%s 314 %s %s %s %s * :%s",
352 < /* 315 RPL_ENDOFWHO */ ":%s 315 %s %s :End of /WHO list.",
348 > /* 311 RPL_WHOISUSER */ "%s %s %s * :%s",
349 > /* 312 RPL_WHOISSERVER */ "%s %s :%s",
350 > /* 313 RPL_WHOISOPERATOR */ "%s :%s",
351 > /* 314 RPL_WHOWASUSER */ "%s %s %s * :%s",
352 > /* 315 RPL_ENDOFWHO */ "%s :End of /WHO list.",
353   /* 316 */ NULL,
354 < /* 317 RPL_WHOISIDLE */ ":%s 317 %s %s %u %d :seconds idle, signon time",
355 < /* 318 RPL_ENDOFWHOIS */ ":%s 318 %s %s :End of /WHOIS list.",
354 > /* 317 RPL_WHOISIDLE */ "%s %u %d :seconds idle, signon time",
355 > /* 318 RPL_ENDOFWHOIS */ "%s :End of /WHOIS list.",
356   /* 319 RPL_WHOISCHANNELS */ ":%s 319 %s %s :%s",
357   /* 320 */ NULL,
358 < /* 321 RPL_LISTSTART */ ":%s 321 %s Channel :Users  Name",
359 < /* 322 RPL_LIST */ ":%s 322 %s %s %d :%s",
360 < /* 323 RPL_LISTEND */ ":%s 323 %s :End of /LIST",
361 < /* 324 RPL_CHANNELMODEIS */ ":%s 324 %s %s %s %s",
358 > /* 321 RPL_LISTSTART */ "Channel :Users  Name",
359 > /* 322 RPL_LIST */ "%s %d :%s%s",
360 > /* 323 RPL_LISTEND */ ":End of /LIST",
361 > /* 324 RPL_CHANNELMODEIS */ "%s %s %s",
362   /* 325 */ NULL,
363   /* 326 */ NULL,
364   /* 327 */ NULL,
365   /* 328 */ NULL,
366 < /* 329 RPL_CREATIONTIME */ ":%s 329 %s %s %lu",
367 < /* 330 */ NULL,
368 < /* 331 RPL_NOTOPIC */ ":%s 331 %s %s :No topic is set.",
369 < /* 332 RPL_TOPIC */ ":%s 332 %s %s :%s",
370 < /* 333 RPL_TOPICWHOTIME */ ":%s 333 %s %s %s %lu",
366 > /* 329 RPL_CREATIONTIME */ "%s %lu",
367 > /* 330 RPL_WHOISACCOUNT */ "%s %s :is logged in as",
368 > /* 331 RPL_NOTOPIC */ "%s :No topic is set.",
369 > /* 332 RPL_TOPIC */ "%s :%s",
370 > /* 333 RPL_TOPICWHOTIME */ "%s %s %lu",
371   /* 334 */ NULL,
372   /* 335 */ NULL,
373   /* 336 */ NULL,
374 < /* 337 */ NULL,
375 < /* 338 RPL_WHOISACTUALLY */ ":%s 338 %s %s %s :actually using host",
374 > /* 337 RPL_WHOISTEXT */ "%s :%s",
375 > /* 338 RPL_WHOISACTUALLY */ "%s %s :actually using host",
376   /* 339 */ NULL,
377   /* 340 */ NULL,
378 < /* 341 RPL_INVITING */ ":%s 341 %s %s %s",
378 > /* 341 RPL_INVITING */ "%s %s",
379   /* 342 */ NULL,
380   /* 343 */ NULL,
381   /* 344 */ NULL,
382   /* 345 */ NULL,
383 < /* 346 RPL_INVEXLIST */ ":%s 346 %s %s %s!%s@%s %s %lu",
384 < /* 347 RPL_ENDOFINVEXLIST */ ":%s 347 %s %s :End of Channel Invite List",
385 < /* 348 RPL_EXCEPTLIST */ ":%s 348 %s %s %s!%s@%s %s %lu",
386 < /* 349 RPL_ENDOFEXCEPTLIST */ ":%s 349 %s %s :End of Channel Exception List",
383 > /* 346 RPL_INVEXLIST */ "%s %s!%s@%s %s %lu",
384 > /* 347 RPL_ENDOFINVEXLIST */ "%s :End of Channel Invite List",
385 > /* 348 RPL_EXCEPTLIST */ "%s %s!%s@%s %s %lu",
386 > /* 349 RPL_ENDOFEXCEPTLIST */ "%s :End of Channel Exception List",
387   /* 350 */ NULL,
388 < /* 351 RPL_VERSION */ ":%s 351 %s %s(%s). %s :%s%s",
389 < /* 352 RPL_WHOREPLY */ ":%s 352 %s %s %s %s %s %s %s :%d %s",
388 > /* 351 RPL_VERSION */ "%s(%s). %s :%s",
389 > /* 352 RPL_WHOREPLY */ "%s %s %s %s %s %s :%d %s",
390   /* 353 RPL_NAMREPLY */ ":%s 353 %s %s %s :",
391   /* 354 */ NULL,
392   /* 355 */ NULL,
# Line 389 | Line 396 | static const char *replies[] = {
396   /* 359 */ NULL,
397   /* 360 */ NULL,
398   /* 361 */ NULL,
399 < /* 362 RPL_CLOSING */ ":%s 362 %s %s :Closed. Status = %d",
400 < /* 363 RPL_CLOSEEND */ ":%s 363 %s %d: Connections Closed",
401 < /* 364 RPL_LINKS */ ":%s 364 %s %s %s :%d %s",
402 < /* 365 RPL_ENDOFLINKS */ ":%s 365 %s %s :End of /LINKS list.",
403 < /* 366 RPL_ENDOFNAMES */ ":%s 366 %s %s :End of /NAMES list.",
404 < /* 367 RPL_BANLIST */ ":%s 367 %s %s %s!%s@%s %s %lu",
405 < /* 368 RPL_ENDOFBANLIST */ ":%s 368 %s %s :End of Channel Ban List",
406 < /* 369 RPL_ENDOFWHOWAS */ ":%s 369 %s %s :End of WHOWAS",
399 > /* 362 RPL_CLOSING */ "%s :Closed. Status = %d",
400 > /* 363 RPL_CLOSEEND */ "%d: Connections Closed",
401 > /* 364 RPL_LINKS */ "%s %s :%d %s",
402 > /* 365 RPL_ENDOFLINKS */ "%s :End of /LINKS list.",
403 > /* 366 RPL_ENDOFNAMES */ "%s :End of /NAMES list.",
404 > /* 367 RPL_BANLIST */ "%s %s!%s@%s %s %lu",
405 > /* 368 RPL_ENDOFBANLIST */ "%s :End of Channel Ban List",
406 > /* 369 RPL_ENDOFWHOWAS */ "%s :End of WHOWAS",
407   /* 370 */ NULL,
408 < /* 371 RPL_INFO */ ":%s 371 %s :%s",
409 < /* 372 RPL_MOTD */ ":%s 372 %s :- %s",
410 < /* 373 RPL_INFOSTART */ ":%s 373 %s :Server INFO",
411 < /* 374 RPL_ENDOFINFO */ ":%s 374 %s :End of /INFO list.",
412 < /* 375 RPL_MOTDSTART */ ":%s 375 %s :- %s Message of the Day - ",
413 < /* 376 RPL_ENDOFMOTD */ ":%s 376 %s :End of /MOTD command.",
408 > /* 371 RPL_INFO */ ":%s",
409 > /* 372 RPL_MOTD */ ":- %s",
410 > /* 373 RPL_INFOSTART */ ":Server INFO",
411 > /* 374 RPL_ENDOFINFO */ ":End of /INFO list.",
412 > /* 375 RPL_MOTDSTART */ ":- %s Message of the Day - ",
413 > /* 376 RPL_ENDOFMOTD */ ":End of /MOTD command.",
414   /* 377 */ NULL,
415   /* 378 */ NULL,
416 < /* 379 */ NULL,
416 > /* 379 RPL_WHOISMODES */ "%s :is using modes %s",
417   /* 380 */ NULL,
418 < /* 381 RPL_YOUREOPER */ ":%s 381 %s :You have entered... the Twilight Zone!",
419 < /* 382 RPL_REHASHING */ ":%s 382 %s %s :Rehashing",
418 > /* 381 RPL_YOUREOPER */ ":You have entered... the Twilight Zone!",
419 > /* 382 RPL_REHASHING */ "%s :Rehashing",
420   /* 383 */ NULL,
421   /* 384 */ NULL,
422   /* 385 */ NULL,
423 < /* 386 RPL_RSACHALLENGE */ ":%s 386 %s :%s",
423 > /* 386 RPL_RSACHALLENGE */ ":%s",
424   /* 387 */ NULL,
425   /* 388 */ NULL,
426   /* 389 */ NULL,
427   /* 390 */ NULL,
428 < /* 391 RPL_TIME */ ":%s 391 %s %s :%s",
428 > /* 391 RPL_TIME */ "%s :%s",
429   /* 392 */ NULL,
430   /* 393 */ NULL,
431   /* 394 */ NULL,
# Line 428 | Line 435 | static const char *replies[] = {
435   /* 398 */ NULL,
436   /* 399 */ NULL,
437   /* 400 */ NULL,
438 < /* 401 ERR_NOSUCHNICK */ ":%s 401 %s %s :No such nick/channel",
439 < /* 402 ERR_NOSUCHSERVER */ ":%s 402 %s %s :No such server",
440 < /* 403 ERR_NOSUCHCHANNEL */ ":%s 403 %s %s :No such channel",
441 < /* 404 ERR_CANNOTSENDTOCHAN */ ":%s 404 %s %s :Cannot send to channel",
442 < /* 405 ERR_TOOMANYCHANNELS */ ":%s 405 %s %s :You have joined too many channels",
443 < /* 406 ERR_WASNOSUCHNICK */ ":%s 406 %s %s :There was no such nickname",
444 < /* 407 ERR_TOOMANYTARGETS */ ":%s 407 %s %s :Too many recipients. Only %d processed",
445 < /* 408 ERR_NOCTRLSONCHAN*/ ":%s 408 %s %s :You cannot use control codes on this channel. Not sent: %s",
446 < /* 409 ERR_NOORIGIN */ ":%s 409 %s :No origin specified",
447 < /* 410 ERR_INVALIDCAPCMD */ ":%s 410 %s %s :Invalid CAP subcommand",
448 < /* 411 ERR_NORECIPIENT */ ":%s 411 %s :No recipient given (%s)",
449 < /* 412 ERR_NOTEXTTOSEND */ ":%s 412 %s :No text to send",
450 < /* 413 ERR_NOTOPLEVEL */ ":%s 413 %s %s :No toplevel domain specified",
451 < /* 414 ERR_WILDTOPLEVEL */ ":%s 414 %s %s :Wildcard in toplevel Domain",
438 > /* 401 ERR_NOSUCHNICK */ "%s :No such nick/channel",
439 > /* 402 ERR_NOSUCHSERVER */ "%s :No such server",
440 > /* 403 ERR_NOSUCHCHANNEL */ "%s :No such channel",
441 > /* 404 ERR_CANNOTSENDTOCHAN */ "%s :Cannot send to channel",
442 > /* 405 ERR_TOOMANYCHANNELS */ "%s :You have joined too many channels",
443 > /* 406 ERR_WASNOSUCHNICK */ "%s :There was no such nickname",
444 > /* 407 ERR_TOOMANYTARGETS */ "%s :Too many recipients. Only %d processed",
445 > /* 408 ERR_NOCTRLSONCHAN*/ "%s :You cannot use control codes on this channel. Not sent: %s",
446 > /* 409 ERR_NOORIGIN */ ":No origin specified",
447 > /* 410 ERR_INVALIDCAPCMD */ "%s :Invalid CAP subcommand",
448 > /* 411 ERR_NORECIPIENT */ ":No recipient given (%s)",
449 > /* 412 ERR_NOTEXTTOSEND */ ":No text to send",
450 > /* 413 ERR_NOTOPLEVEL */ "%s :No toplevel domain specified",
451 > /* 414 ERR_WILDTOPLEVEL */ "%s :Wildcard in toplevel Domain",
452   /* 415 */ NULL,
453   /* 416 */ NULL,
454   /* 417 */ NULL,
455   /* 418 */ NULL,
456   /* 419 */ NULL,
457   /* 420 */ NULL,
458 < /* 421 ERR_UNKNOWNCOMMAND */ ":%s 421 %s %s :Unknown command",
459 < /* 422 ERR_NOMOTD */ ":%s 422 %s :MOTD File is missing",
460 < /* 423 ERR_NOADMININFO */ ":%s 423 %s %s :No administrative info available",
458 > /* 421 ERR_UNKNOWNCOMMAND */ "%s :Unknown command",
459 > /* 422 ERR_NOMOTD */ ":MOTD File is missing",
460 > /* 423 ERR_NOADMININFO */ "%s :No administrative info available",
461   /* 424 */ NULL,
462   /* 425 */ NULL,
463   /* 426 */ NULL,
# Line 458 | Line 465 | static const char *replies[] = {
465   /* 428 */ NULL,
466   /* 429 */ NULL,
467   /* 430 */ NULL,
468 < /* 431 ERR_NONICKNAMEGIVEN */ ":%s 431 %s :No nickname given",
469 < /* 432 ERR_ERRONEUSNICKNAME */ ":%s 432 %s %s :%s",
470 < /* 433 ERR_NICKNAMEINUSE */ ":%s 433 %s %s :Nickname is already in use.",
468 > /* 431 ERR_NONICKNAMEGIVEN */ ":No nickname given",
469 > /* 432 ERR_ERRONEUSNICKNAME */ "%s :%s",
470 > /* 433 ERR_NICKNAMEINUSE */ "%s :Nickname is already in use.",
471   /* 434 */ NULL,
472   /* 435 */ NULL,
473 < /* 436 ERR_NICKCOLLISION */ ":%s 436 %s %s :Nickname collision KILL",
474 < /* 437 ERR_UNAVAILRESOURCE */ ":%s 437 %s %s :Nick/channel is temporarily unavailable",
475 < /* 438 ERR_NICKTOOFAST */ ":%s 438 %s %s %s :Nick change too fast. Please wait %d seconds.",
473 > /* 436 ERR_NICKCOLLISION */ "%s :Nickname collision KILL",
474 > /* 437 ERR_UNAVAILRESOURCE */ "%s :Nick/channel is temporarily unavailable",
475 > /* 438 ERR_NICKTOOFAST */ "%s %s :Nick change too fast. Please wait %d seconds.",
476   /* 439 */ NULL,
477 < /* 440 ERR_SERVICESDOWN */ ":%s 440 %s %s :Services is currently down.",
478 < /* 441 ERR_USERNOTINCHANNEL */ ":%s 441 %s %s %s :They aren't on that channel",
479 < /* 442 ERR_NOTONCHANNEL */ ":%s 442 %s %s :You're not on that channel",
480 < /* 443 ERR_USERONCHANNEL */ ":%s 443 %s %s %s :is already on channel",
477 > /* 440 ERR_SERVICESDOWN */ "%s :Services is currently down.",
478 > /* 441 ERR_USERNOTINCHANNEL */ "%s %s :They aren't on that channel",
479 > /* 442 ERR_NOTONCHANNEL */ "%s :You're not on that channel",
480 > /* 443 ERR_USERONCHANNEL */ "%s %s :is already on channel",
481   /* 444 */ NULL,
482   /* 445 */ NULL,
483   /* 446 */ NULL,
# Line 478 | Line 485 | static const char *replies[] = {
485   /* 448 */ NULL,
486   /* 449 */ NULL,
487   /* 450 */ NULL,
488 < /* 451 ERR_NOTREGISTERED */ ":%s 451 %s :You have not registered",
488 > /* 451 ERR_NOTREGISTERED */ ":You have not registered",
489   /* 452 */ NULL,
490   /* 453 */ NULL,
491   /* 454 */ NULL,
492   /* 455 */ NULL,
493 < /* 456 ERR_ACCEPTFULL */ ":%s 456 %s :Accept list is full",
494 < /* 457 ERR_ACCEPTEXIST */ ":%s 457 %s %s!%s@%s :is already on your accept list",
495 < /* 458 ERR_ACCEPTNOT */ ":%s 458 %s %s!%s@%s :is not on your accept list",
493 > /* 456 ERR_ACCEPTFULL */ ":Accept list is full",
494 > /* 457 ERR_ACCEPTEXIST */ "%s!%s@%s :is already on your accept list",
495 > /* 458 ERR_ACCEPTNOT */ "%s!%s@%s :is not on your accept list",
496   /* 459 */ NULL,
497   /* 460 */ NULL,
498 < /* 461 ERR_NEEDMOREPARAMS */ ":%s 461 %s %s :Not enough parameters",
499 < /* 462 ERR_ALREADYREGISTRED */ ":%s 462 %s :You may not reregister",
498 > /* 461 ERR_NEEDMOREPARAMS */ "%s :Not enough parameters",
499 > /* 462 ERR_ALREADYREGISTRED */ ":You may not reregister",
500   /* 463 */ NULL,
501 < /* 464 ERR_PASSWDMISMATCH */ ":%s 464 %s :Password Incorrect",
502 < /* 465 ERR_YOUREBANNEDCREEP */ ":%s 465 %s :You are banned from this server- %s",
501 > /* 464 ERR_PASSWDMISMATCH */ ":Password Incorrect",
502 > /* 465 ERR_YOUREBANNEDCREEP */ ":You are banned from this server- %s",
503   /* 466 */ NULL,
504   /* 467 */ NULL,
505 < /* 468 ERR_ONLYSERVERSCANCHANGE */ ":%s 468 %s %s :Only servers can change that mode",
505 > /* 468 ERR_ONLYSERVERSCANCHANGE */ "%s :Only servers can change that mode",
506   /* 469 */ NULL,
507 < /* 470 ERR_OPERONLYCHAN */ ":%s 470 %s %s :Cannot join channel (+O)",
508 < /* 471 ERR_CHANNELISFULL */ ":%s 471 %s %s :Cannot join channel (+l)",
509 < /* 472 ERR_UNKNOWNMODE */ ":%s 472 %s %c :is unknown mode char to me",
510 < /* 473 ERR_INVITEONLYCHAN */ ":%s 473 %s %s :Cannot join channel (+i)",
511 < /* 474 ERR_BANNEDFROMCHAN */ ":%s 474 %s %s :Cannot join channel (+b)",
512 < /* 475 ERR_BADCHANNELKEY */ ":%s 475 %s %s :Cannot join channel (+k)",
507 > /* 470 ERR_OPERONLYCHAN */ "%s :Cannot join channel (+O)",
508 > /* 471 ERR_CHANNELISFULL */ "%s :Cannot join channel (+l)",
509 > /* 472 ERR_UNKNOWNMODE */ "%c :is unknown mode char to me",
510 > /* 473 ERR_INVITEONLYCHAN */ "%s :Cannot join channel (+i)",
511 > /* 474 ERR_BANNEDFROMCHAN */ "%s :Cannot join channel (+b)",
512 > /* 475 ERR_BADCHANNELKEY */ "%s :Cannot join channel (+k)",
513   /* 476 */ NULL,
514 < /* 477 ERR_NEEDREGGEDNICK */ ":%s 477 %s %s :You need to identify to a registered nick to join or speak in that channel.",
515 < /* 478 ERR_BANLISTFULL */ ":%s 478 %s %s %s :Channel ban list is full",
516 < /* 479 ERR_BADCHANNAME */ ":%s 479 %s %s :Illegal channel name",
517 < /* 480 ERR_SSLONLYCHAN */ ":%s 480 %s %s :Cannot join channel (+S)",
518 < /* 481 ERR_NOPRIVILEGES */ ":%s 481 %s :Permission Denied - You're not an IRC operator",
519 < /* 482 ERR_CHANOPRIVSNEEDED */ ":%s 482 %s %s :You're not channel operator",
520 < /* 483 ERR_CANTKILLSERVER */ ":%s 483 %s :You can't kill a server!",
521 < /* 484 ERR_RESTRICTED */ ":%s 484 %s :You are restricted",
522 < /* 485 ERR_CHANBANREASON */ ":%s 485 %s %s :Cannot join channel (%s)",
523 < /* 486 ERR_NONONREG */ ":%s 486 %s %s :You must identify to a registered nick to private message that person",
514 > /* 477 ERR_NEEDREGGEDNICK */ "%s :You need to identify to a registered nick to join or speak in that channel.",
515 > /* 478 ERR_BANLISTFULL */ "%s %s :Channel ban list is full",
516 > /* 479 ERR_BADCHANNAME */ "%s :Illegal channel name",
517 > /* 480 ERR_SSLONLYCHAN */ "%s :Cannot join channel (+S)",
518 > /* 481 ERR_NOPRIVILEGES */ ":Permission Denied - You're not an IRC operator",
519 > /* 482 ERR_CHANOPRIVSNEEDED */ "%s :You're not channel operator",
520 > /* 483 ERR_CANTKILLSERVER */ ":You cannot kill a server!",
521 > /* 484 ERR_RESTRICTED */ ":You are restricted",
522 > /* 485 ERR_CHANBANREASON */ "%s :Cannot join channel (%s)",
523 > /* 486 ERR_NONONREG */ "%s :You must identify to a registered nick to private message that person",
524   /* 487 */ NULL,
525   /* 488 */ NULL,
526   /* 489 */ NULL,
527   /* 490 */ NULL,
528 < /* 491 ERR_NOOPERHOST */ ":%s 491 %s :Only few of mere mortals may try to enter the twilight zone",
528 > /* 491 ERR_NOOPERHOST */ ":Only few of mere mortals may try to enter the twilight zone",
529   /* 492 */ NULL,
530   /* 493 */ NULL,
531   /* 494 */ NULL,
# Line 528 | Line 535 | static const char *replies[] = {
535   /* 498 */ NULL,
536   /* 499 */ NULL,
537   /* 500 */ NULL,
538 < /* 501 ERR_UMODEUNKNOWNFLAG */ ":%s 501 %s :Unknown MODE flag",
539 < /* 502 ERR_USERSDONTMATCH */ ":%s 502 %s :Can't change mode for other users",
540 < /* 503 ERR_GHOSTEDCLIENT */ ":%s 503 %s :Message could not be delivered to %s",
541 < /* 504 ERR_USERNOTONSERV */ ":%s 504 %s %s :User is not on this server",
538 > /* 501 ERR_UMODEUNKNOWNFLAG */ ":Unknown MODE flag",
539 > /* 502 ERR_USERSDONTMATCH */ ":Cannot change mode for other users",
540 > /* 503 ERR_GHOSTEDCLIENT */ ":Message could not be delivered to %s",
541 > /* 504 ERR_USERNOTONSERV */ "%s :User is not on this server",
542   /* 505 */ NULL,
543   /* 506 */ NULL,
544   /* 507 */ NULL,
# Line 539 | Line 546 | static const char *replies[] = {
546   /* 509 */ NULL,
547   /* 510 */ NULL,
548   /* 511 */ NULL,
549 < /* 512 ERR_TOOMANYWATCH */ ":%s 512 %s %s :Maximum size for WATCH-list is %d entries",
550 < /* 513 ERR_WRONGPONG */ ":%s 513 %s :To connect type /QUOTE PONG %u",
549 > /* 512 ERR_TOOMANYWATCH */ "%s :Maximum size for WATCH-list is %d entries",
550 > /* 513 ERR_WRONGPONG */ ":To connect type /QUOTE PONG %u",
551   /* 514 */ NULL,
552   /* 515 */ NULL,
553   /* 516 */ NULL,
# Line 548 | Line 555 | static const char *replies[] = {
555   /* 518 */ NULL,
556   /* 519 */ NULL,
557   /* 520 */ NULL,
558 < /* 521 ERR_LISTSYNTAX */ ":%s 521 %s :Bad list syntax, type /QUOTE HELP LIST",
558 > /* 521 ERR_LISTSYNTAX */ ":Bad list syntax, type /QUOTE HELP LIST",
559   /* 522 */ NULL,
560   /* 523 */ NULL,
561 < /* 524 ERR_HELPNOTFOUND */ ":%s 524 %s %s :Help not found",
561 > /* 524 ERR_HELPNOTFOUND */ "%s :Help not found",
562   /* 525 */ NULL,
563   /* 526 */ NULL,
564   /* 527 */ NULL,
# Line 627 | Line 634 | static const char *replies[] = {
634   /* 597 */ NULL,
635   /* 598 */ NULL,
636   /* 599 */ NULL,
637 < /* 600 RPL_LOGON */ ":%s 600 %s %s %s %s %d :logged online",
638 < /* 601 RPL_LOGOFF */ ":%s 601 %s %s %s %s %d :logged offline",
639 < /* 602 RPL_WATCHOFF */ ":%s 602 %s %s %s %s %d :stopped watching",
640 < /* 603 RPL_WATCHSTAT */ ":%s 603 %s :You have %u and are on %u WATCH entries",
641 < /* 604 RPL_NOWON */ ":%s 604 %s %s %s %s %d :is online",
642 < /* 605 RPL_NOWOFF */ ":%s 605 %s %s %s %s %d :is offline",
643 < /* 606 RPL_WATCHLIST */ ":%s 606 %s :%s",
644 < /* 607 RPL_ENDOFWATCHLIST */ ":%s 607 %s :End of WATCH %c",
637 > /* 600 RPL_LOGON */ "%s %s %s %d :logged online",
638 > /* 601 RPL_LOGOFF */ "%s %s %s %d :logged offline",
639 > /* 602 RPL_WATCHOFF */ "%s %s %s %d :stopped watching",
640 > /* 603 RPL_WATCHSTAT */ ":You have %u and are on %u WATCH entries",
641 > /* 604 RPL_NOWON */ "%s %s %s %d :is online",
642 > /* 605 RPL_NOWOFF */ "%s %s %s %d :is offline",
643 > /* 606 RPL_WATCHLIST */ ":%s",
644 > /* 607 RPL_ENDOFWATCHLIST */ ":End of WATCH %c",
645   /* 608 */ NULL,
646   /* 609 */ NULL,
647   /* 610 */ NULL,
# Line 698 | Line 705 | static const char *replies[] = {
705   /* 668 */ NULL,
706   /* 669 */ NULL,
707   /* 670 */ NULL,
708 < /* 671 RPL_WHOISSECURE */ ":%s 671 %s %s :is connected via SSL (secure link)",
708 > /* 671 RPL_WHOISSECURE */ "%s :is connected via SSL (secure link)",
709   /* 672 */ NULL,
710   /* 673 */ NULL,
711   /* 674 */ NULL,
# Line 729 | Line 736 | static const char *replies[] = {
736   /* 699 */ NULL,
737   /* 700 */ NULL,
738   /* 701 */ NULL,
739 < /* 702 RPL_MODLIST */ ":%s 702 %s %s %p %s %s",
740 < /* 703 RPL_ENDOFMODLIST */ ":%s 703 %s :End of /MODLIST.",
741 < /* 704 RPL_HELPSTART */ ":%s 704 %s %s :%s",
742 < /* 705 RPL_HELPTXT */ ":%s 705 %s %s :%s",
743 < /* 706 RPL_ENDOFHELP */ ":%s 706 %s %s :End of /HELP.",
739 > /* 702 RPL_MODLIST */ "%s %p %s %s",
740 > /* 703 RPL_ENDOFMODLIST */ ":End of /MODLIST.",
741 > /* 704 RPL_HELPSTART */ "%s :%s",
742 > /* 705 RPL_HELPTXT */ "%s :%s",
743 > /* 706 RPL_ENDOFHELP */ "%s :End of /HELP.",
744   /* 707 */ NULL,
745 < /* 708 RPL_ETRACE_FULL */ ":%s 708 %s %s %s %s %s %s %s %s %s :%s",
746 < /* 709 RPL_ETRACE */ ":%s 709 %s %s %s %s %s %s %s :%s",
747 < /* 710 RPL_KNOCK */ ":%s 710 %s %s %s!%s@%s :has asked for an invite.",
748 < /* 711 RPL_KNOCKDLVR */ ":%s 711 %s %s :Your KNOCK has been delivered.",
749 < /* 712 ERR_TOOMANYKNOCK */ ":%s 712 %s %s :Too many KNOCKs (%s).",
750 < /* 713 ERR_CHANOPEN */ ":%s 713 %s %s :Channel is open.",
751 < /* 714 ERR_KNOCKONCHAN */ ":%s 714 %s %s :You are already on that channel.",
745 > /* 708 */ NULL,
746 > /* 709 RPL_ETRACE */ "%s %s %s %s %s %s :%s",
747 > /* 710 RPL_KNOCK */ "%s %s!%s@%s :has asked for an invite.",
748 > /* 711 RPL_KNOCKDLVR */ "%s :Your KNOCK has been delivered.",
749 > /* 712 ERR_TOOMANYKNOCK */ "%s :Too many KNOCKs (%s).",
750 > /* 713 ERR_CHANOPEN */ "%s :Channel is open.",
751 > /* 714 ERR_KNOCKONCHAN */ "%s :You are already on that channel.",
752   /* 715 */ NULL,
753 < /* 716 RPL_TARGUMODEG */ ":%s 716 %s %s :is in +g mode (server side ignore)",
754 < /* 717 RPL_TARGNOTIFY */ ":%s 717 %s %s :has been informed that you messaged them.",
755 < /* 718 RPL_UMODEGMSG */ ":%s 718 %s %s :is messaging you, and you are umode +g.",
753 > /* 716 RPL_TARGUMODEG */ "%s :is in %s mode (%s)",
754 > /* 717 RPL_TARGNOTIFY */ "%s :has been informed that you messaged them.",
755 > /* 718 RPL_UMODEGMSG */ "%s :is messaging you, and you are umode %s.",
756   /* 719 */ NULL,
757   /* 720 */ NULL,
758   /* 721 */ NULL,
759   /* 722 */ NULL,
760 < /* 723 ERR_NOPRIVS */ ":%s 723 %s %s :Insufficient oper privs.",
761 < /* 724 RPL_TESTMASK */ ":%s 724 %s %s!%s@%s %u %u :Local/remote clients match.",
762 < /* 725 RPL_TESTLINE */ ":%s 725 %s %c %ld %s :%s",
763 < /* 726 RPL_NOTESTLINE */ ":%s 726 %s %s :No matches",
760 > /* 723 ERR_NOPRIVS */ "%s :Insufficient oper privs.",
761 > /* 724 */ NULL,
762 > /* 725 */ NULL,
763 > /* 726 */ NULL,
764   /* 727 */ NULL,
765   /* 728 */ NULL,
766   /* 729 */ NULL,
# Line 1026 | Line 1033 | static const char *replies[] = {
1033   /* 996 */ NULL,
1034   /* 997 */ NULL,
1035   /* 998 */ NULL,
1036 < /* 999 ERR_LAST_ERR_MSG */ ":%s 999 %s :Last Error Message"
1036 > /* 999 ERR_LAST_ERR_MSG */ ":Last Error Message"
1037   };
1038  
1039   /*
1040 < * form_str
1040 > * numeric_form
1041   *
1042   * inputs       - numeric
1043   * output       - corresponding string
1044   * side effects - NONE
1045   */
1046   const char *
1047 < form_str(unsigned int numeric)
1047 > numeric_form(enum irc_numerics numeric)
1048   {
1049    assert(numeric < ERR_LAST_ERR_MSG);
1050  

Diff Legend

– Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)