diff options
| author | Tom Feist <shabble@cowu.be> | 2010-08-21 23:46:24 +0000 | 
|---|---|---|
| committer | Tom Feist <shabble@cowu.be> | 2010-08-21 23:46:24 +0000 | 
| commit | a0b309ed4ca2af04a17bd915c2829a689292adbd (patch) | |
| tree | 10d21c227aaa356a31092aab2f10115792f06473 /patches | |
| parent | added masshilight on requset form bikcmp - modified original to support confi... (diff) | |
| download | irssi-scripts-a0b309ed4ca2af04a17bd915c2829a689292adbd.tar.gz irssi-scripts-a0b309ed4ca2af04a17bd915c2829a689292adbd.zip | |
renamed patch file with svn rev patched against
Diffstat (limited to 'patches')
| -rw-r--r-- | patches/add_bindings_interface-r5190.patch | 62 | 
1 files changed, 62 insertions, 0 deletions
| diff --git a/patches/add_bindings_interface-r5190.patch b/patches/add_bindings_interface-r5190.patch new file mode 100644 index 0000000..8286444 --- /dev/null +++ b/patches/add_bindings_interface-r5190.patch @@ -0,0 +1,62 @@ +Index: ui/UI.xs +=================================================================== +--- ui/UI.xs	(revision 5190) ++++ ui/UI.xs	(working copy) +@@ -106,3 +106,47 @@ + 	irssi_boot(UI__Formats); + 	irssi_boot(UI__Themes); + 	irssi_boot(UI__Window); ++ ++HV* ++bindings() ++PREINIT: ++    GSList *info; ++    GSList  *key; ++CODE: ++ ++    RETVAL = newHV(); ++    sv_2mortal((SV*)RETVAL); ++ ++    /* loop stolen from keyboard.c#cmd_show_keys */ ++ ++    for (info = keyinfos; info != NULL; info = info->next) { ++        KEYINFO_REC *rec = info->data; ++		for (key = rec->keys; key != NULL; key = key->next) { ++			KEY_REC *key_rec = key->data; ++ ++            /* return value { key => [ info, data ] } */ ++            AV* value_array = newAV(); ++ ++            char *kinfo = key_rec->info->id; ++            char *kdata = key_rec->data; ++ ++            /* store info, or undef if it's null */ ++            av_push(value_array, kinfo != NULL ++                    ? newSVpv(kinfo, strlen(kinfo)) ++                    : newSV(0)); ++ ++            /* ditto data */ ++            av_push(value_array, kdata != NULL ++                    ? newSVpv(kdata, strlen(kdata)) ++                    : newSV(0)); ++ ++            /* wedge it all into a reference so we can use it in the hash */ ++            SV* value_ref = newRV_inc((SV*)value_array); ++ ++            /* and finally, set up the hash */ ++            hv_store(RETVAL, key_rec->key, strlen(key_rec->key), ++                     value_ref, 0); ++		} ++    } ++OUTPUT: ++    RETVAL +Index: ui/module.h +=================================================================== +--- ui/module.h	(revision 5190) ++++ ui/module.h	(working copy) +@@ -12,3 +12,5 @@ + typedef TEXT_DEST_REC *Irssi__UI__TextDest; + typedef THEME_REC *Irssi__UI__Theme; + typedef KEYINFO_REC *Irssi__UI__Keyinfo; ++typedef KEY_REC *Irssi__UI__Key; ++ | 
