X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Fperl%2Fui%2FThemes.xs;h=4afd437c4dc92f03c466715b7b08e6e3169deb40;hb=63ca577177f9f5db8e553372a9793b0c85f10715;hp=7f1c5277f14470e74be46f9fd68316b93828001f;hpb=60c165f23f8d5553bd8b4fd43366fbf5f24c2832;p=silc.git diff --git a/apps/irssi/src/perl/ui/Themes.xs b/apps/irssi/src/perl/ui/Themes.xs index 7f1c5277..4afd437c 100644 --- a/apps/irssi/src/perl/ui/Themes.xs +++ b/apps/irssi/src/perl/ui/Themes.xs @@ -136,6 +136,32 @@ CODE: printformat_perl(&dest, format, arglist); +void +abstracts_register(abstracts) + SV *abstracts +PREINIT: + AV *av; + char *key, *value; + int i, len; +CODE: + if (!SvROK(abstracts)) + croak("abstracts is not a reference to list"); + av = (AV *) SvRV(abstracts); + len = av_len(av)+1; + if (len == 0 || (len & 1) != 0) + croak("abstracts list is invalid - not divisible by 2 (%d)", len); + + for (i = 0; i < len; i++) { + key = SvPV(*av_fetch(av, i, 0), PL_na); i++; + value = SvPV(*av_fetch(av, i, 0), PL_na); + + theme_set_default_abstract(key, value); + } + themes_reload(); + +void +themes_reload() + #******************************* MODULE = Irssi::UI::Themes PACKAGE = Irssi::Server #*******************************