… | |
… | |
8 | * Portions of this file were derived from sources bearing the following license: |
8 | * Portions of this file were derived from sources bearing the following license: |
9 | * Rights to this code are documented in doc/pod/license.pod. |
9 | * Rights to this code are documented in doc/pod/license.pod. |
10 | * Copyright © 2005-2007 Atheme Project (http://www.atheme.org) |
10 | * Copyright © 2005-2007 Atheme Project (http://www.atheme.org) |
11 | */ |
11 | */ |
12 | |
12 | |
13 | static char const rcsid[] = "$Id: services.C,v 1.10 2007/09/16 18:54:45 pippijn Exp $"; |
13 | static char const rcsid[] = "$Id: services.C,v 1.11 2007/09/22 14:27:30 pippijn Exp $"; |
14 | |
14 | |
15 | #include <boost/foreach.hpp> |
15 | #include <boost/foreach.hpp> |
16 | |
16 | |
17 | #include "atheme.h" |
17 | #include "atheme.h" |
|
|
18 | #include <libermyth.h> |
18 | #include "servers.h" |
19 | #include "servers.h" |
19 | #include <account/myuser.h> |
20 | #include <account/myuser.h> |
20 | #include <account/mynick.h> |
21 | #include <account/mynick.h> |
21 | #include <account/mychan.h> |
22 | #include <account/mychan.h> |
22 | #include "pmodule.h" |
23 | #include "pmodule.h" |
… | |
… | |
532 | command_success_table (sourceinfo_t *si, table_t * table) |
533 | command_success_table (sourceinfo_t *si, table_t * table) |
533 | { |
534 | { |
534 | table_render (table, command_table_cb, si); |
535 | table_render (table, command_table_cb, si); |
535 | } |
536 | } |
536 | |
537 | |
537 | char const * const |
538 | char const * |
538 | get_source_name (sourceinfo_t *si) |
539 | get_source_name (sourceinfo_t *si) |
539 | { |
540 | { |
540 | static char result[NICKLEN + NICKLEN + 10]; |
541 | static char result[NICKLEN + NICKLEN + 10]; |
541 | |
542 | |
542 | if (si->su != NULL) |
543 | if (si->su != NULL) |
543 | { |
|
|
544 | if (si->smu && !irccasecmp (si->su->nick, si->smu->name)) |
544 | if (si->smu && !irccasecmp (si->su->nick, si->smu->name)) |
545 | snprintf (result, sizeof result, "%s", si->su->nick); |
545 | snprintf (result, sizeof result, "%s", si->su->nick); |
546 | else |
546 | else |
547 | snprintf (result, sizeof result, "%s(%s)", si->su->nick, si->smu ? si->smu->name : ""); |
547 | snprintf (result, sizeof result, "%s(%s)", si->su->nick, si->smu ? si->smu->name : ""); |
548 | } |
|
|
549 | else if (si->s != NULL) |
548 | else if (si->s != NULL) |
550 | snprintf (result, sizeof result, "%s", si->s->name); |
549 | snprintf (result, sizeof result, "%s", si->s->name); |
551 | else |
550 | else |
552 | { |
|
|
553 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
551 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
554 | } |
|
|
555 | return result; |
552 | return result; |
556 | } |
553 | } |
557 | |
554 | |
558 | char const * const |
555 | char const * |
559 | get_source_mask (sourceinfo_t *si) |
556 | get_source_mask (sourceinfo_t *si) |
560 | { |
557 | { |
561 | static char result[NICKLEN + USERLEN + HOSTLEN + 10]; |
558 | static char result[NICKLEN + USERLEN + HOSTLEN + 10]; |
562 | |
559 | |
563 | if (si->su != NULL) |
560 | if (si->su != NULL) |
564 | { |
|
|
565 | snprintf (result, sizeof result, "%s!%s@%s", si->su->nick, si->su->user, si->su->vhost); |
561 | snprintf (result, sizeof result, "%s!%s@%s", si->su->nick, si->su->user, si->su->vhost); |
566 | } |
|
|
567 | else if (si->s != NULL) |
562 | else if (si->s != NULL) |
568 | snprintf (result, sizeof result, "%s", si->s->name); |
563 | snprintf (result, sizeof result, "%s", si->s->name); |
569 | else |
564 | else |
570 | { |
|
|
571 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
565 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
572 | } |
|
|
573 | return result; |
566 | return result; |
574 | } |
567 | } |
575 | |
568 | |
576 | char const * const |
569 | char const * |
577 | get_oper_name (sourceinfo_t *si) |
570 | get_oper_name (sourceinfo_t *si) |
578 | { |
571 | { |
579 | static char result[NICKLEN + USERLEN + HOSTLEN + NICKLEN + 10]; |
572 | static char result[NICKLEN + USERLEN + HOSTLEN + NICKLEN + 10]; |
580 | |
573 | |
581 | if (si->su != NULL) |
574 | if (si->su != NULL) |
… | |
… | |
588 | snprintf (result, sizeof result, "%s(%s)", si->su->nick, si->smu ? si->smu->name : ""); |
581 | snprintf (result, sizeof result, "%s(%s)", si->su->nick, si->smu ? si->smu->name : ""); |
589 | } |
582 | } |
590 | else if (si->s != NULL) |
583 | else if (si->s != NULL) |
591 | snprintf (result, sizeof result, "%s", si->s->name); |
584 | snprintf (result, sizeof result, "%s", si->s->name); |
592 | else |
585 | else |
593 | { |
|
|
594 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
586 | snprintf (result, sizeof result, "<%s>%s", si->v->description, si->smu ? si->smu->name : ""); |
595 | } |
|
|
596 | return result; |
587 | return result; |
597 | } |
588 | } |
598 | |
589 | |
599 | void |
590 | void |
600 | wallops (char const * const fmt, ...) |
591 | wallops (char const * const fmt, ...) |