File: | perl/textui/Statusbar.c |
Location: | line 95, column 20 |
Description: | Dereference of null pointer. |
1 | /* |
2 | * This file was generated automatically by ExtUtils::ParseXS version 2.19 from the |
3 | * contents of Statusbar.xs. Do not edit this file, edit Statusbar.xs instead. |
4 | * |
5 | * ANY CHANGES MADE HERE WILL BE LOST! |
6 | * |
7 | */ |
8 | |
9 | #line 1 "Statusbar.xs" |
10 | #include "module.h" |
11 | |
12 | static GHashTable *perl_sbar_defs; |
13 | |
14 | static int check_sbar_destroy(char *key, char *value, char *script) |
15 | { |
16 | if (strncmp(value, script, strlen(script)) == 0 && |
17 | value[strlen(script)] == ':') { |
18 | statusbar_item_unregister(key); |
19 | g_free(key); |
20 | g_free(value); |
21 | return TRUE(1); |
22 | } |
23 | |
24 | return FALSE(0); |
25 | } |
26 | |
27 | static void script_unregister_statusbars(PERL_SCRIPT_REC *script) |
28 | { |
29 | g_hash_table_foreach_remove(perl_sbar_defs, |
30 | (GHRFunc) check_sbar_destroy, |
31 | script->package); |
32 | } |
33 | |
34 | void perl_statusbar_init(void) |
35 | { |
36 | perl_sbar_defs = g_hash_table_new((GHashFunc) g_str_hash, |
37 | (GCompareFunc) g_str_equal); |
38 | signal_add("script destroyed", (SIGNAL_FUNC) script_unregister_statusbars)signal_add_full("perl/core", 0, ("script destroyed"), (SIGNAL_FUNC ) ((SIGNAL_FUNC) script_unregister_statusbars), ((void *)0)); |
39 | } |
40 | |
41 | static void statusbar_item_def_destroy(void *key, void *value) |
42 | { |
43 | statusbar_item_unregister(key); |
44 | g_free(key); |
45 | g_free(value); |
46 | } |
47 | |
48 | void perl_statusbar_deinit(void) |
49 | { |
50 | signal_remove("script destroyed", (SIGNAL_FUNC) script_unregister_statusbars)signal_remove_full(("script destroyed"), (SIGNAL_FUNC) ((SIGNAL_FUNC ) script_unregister_statusbars), ((void *)0)); |
51 | |
52 | g_hash_table_foreach(perl_sbar_defs, |
53 | (GHFunc) statusbar_item_def_destroy, NULL((void *)0)); |
54 | g_hash_table_destroy(perl_sbar_defs); |
55 | } |
56 | |
57 | static void perl_statusbar_event(char *function, SBAR_ITEM_REC *item, |
58 | int get_size_only) |
59 | { |
60 | dSPSV **sp = PL_stack_sp; |
61 | int retcount; |
62 | SV *item_sv, **sv; |
63 | HV *hv; |
64 | |
65 | ENTERPerl_push_scope(); |
66 | SAVETMPSPerl_save_int((int*)&PL_tmps_floor), PL_tmps_floor = PL_tmps_ix; |
67 | |
68 | PUSHMARK(SP)(void)( { if (++PL_markstack_ptr == PL_markstack_max) Perl_markstack_grow (); *PL_markstack_ptr = (I32)((sp) - PL_stack_base); } ); |
[1] Taking true branch | |
69 | item_sv = plain_bless(item, "Irssi::TextUI::StatusbarItem")((item) == ((void *)0) ? &PL_sv_undef : irssi_bless_plain ("Irssi::TextUI::StatusbarItem", item)); |
[2] '?' condition evaluates to true | |
70 | XPUSHs(sv_2mortal(item_sv))(void)( { (void)( { if (PL_stack_max - sp < (int)(1)) { sp = Perl_stack_grow(sp,sp, (int) (1)); } } ); (*++sp = (Perl_sv_2mortal (item_sv))); } ); |
[3] Taking true branch | |
71 | XPUSHs(sv_2mortal(newSViv(get_size_only)))(void)( { (void)( { if (PL_stack_max - sp < (int)(1)) { sp = Perl_stack_grow(sp,sp, (int) (1)); } } ); (*++sp = (Perl_sv_2mortal (Perl_newSViv(get_size_only)))); } ); |
[4] Taking true branch | |
72 | PUTBACKPL_stack_sp = sp; |
73 | |
74 | retcount = perl_call_pv(function, G_EVAL|G_DISCARD)Perl_call_pv(function,4|2); |
75 | SPAGAINsp = PL_stack_sp; |
76 | |
77 | if (SvTRUE(ERRSV)( !((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv) ? 0 : ((((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv ))->sv_flags & 0x00040000) ? (({XPV *nxpv = (XPV*)(((( (XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv))->sv_any ; nxpv && (nxpv->xpv_cur > 1 || (nxpv->xpv_cur && *nxpv->xpv_pv != '0')); }) ? 1 : 0) : ((((((XPVGV *)(PL_errgv)->sv_any)->xgv_gp)->gp_sv))->sv_flags & 0x00010000) ? ((XPVIV*) (((((XPVGV*)(PL_errgv)->sv_any )->xgv_gp)->gp_sv))->sv_any)->xiv_iv != 0 : ((((( (XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv))->sv_flags & 0x00020000) ? ((XPVNV*)(((((XPVGV*)(PL_errgv)->sv_any )->xgv_gp)->gp_sv))->sv_any)->xnv_nv != 0.0 : Perl_sv_2bool (((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv)) )) { |
[5] '?' condition evaluates to true | |
[6] Taking false branch | |
78 | PERL_SCRIPT_REC *script; |
79 | char *package; |
80 | |
81 | package = perl_function_get_package(function); |
82 | script = perl_script_find_package(package); |
83 | g_free(package); |
84 | |
85 | if (script != NULL((void *)0)) { |
86 | /* make sure we don't get back here */ |
87 | script_unregister_statusbars(script); |
88 | } |
89 | signal_emit("script error", 2, script, SvPV(ERRSV, PL_na)(((((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv))-> sv_flags & (0x00040000)) == 0x00040000 ? ((PL_na = ((XPV* ) (((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv))-> sv_any)->xpv_cur), ((XPV*) (((((XPVGV*)(PL_errgv)->sv_any )->xgv_gp)->gp_sv))->sv_any)->xpv_pv) : Perl_sv_2pv_flags (((((XPVGV*)(PL_errgv)->sv_any)->xgv_gp)->gp_sv), & PL_na, 2))); |
90 | } else { |
91 | /* min_size and max_size can be changed, move them to SBAR_ITEM_REC */ |
92 | hv = hvref(item_sv)(((item_sv) && ((item_sv)->sv_flags & 0x00080000 ) && ((XRV*) (item_sv)->sv_any)->xrv_rv && (((svtype)((((XRV*) (item_sv)->sv_any)->xrv_rv)->sv_flags & 0xff)) == SVt_PVHV)) ? (HV *)((XRV*) (item_sv)->sv_any )->xrv_rv : ((void *)0)); |
[7] '?' condition evaluates to true | |
93 | if (hv != NULL((void *)0)) { |
[8] Taking true branch | |
94 | sv = hv_fetch(hv, "min_size", 8, 0)((SV**) Perl_hv_common_key_len((hv), ("min_size"), (8), (0) ? (0x20 | 0x10) : 0x20, ((void *)0), 0)); |
[9] '?' condition evaluates to false | |
95 | if (sv != NULL((void *)0)) item->min_size = SvIV(*sv)(((*sv)->sv_flags & 0x00010000) ? ((XPVIV*) (*sv)-> sv_any)->xiv_iv : Perl_sv_2iv_flags(*sv, 2)); |
[10] Taking true branch | |
[11] '?' condition evaluates to false | |
[12] Dereference of null pointer | |
96 | sv = hv_fetch(hv, "max_size", 8, 0)((SV**) Perl_hv_common_key_len((hv), ("max_size"), (8), (0) ? (0x20 | 0x10) : 0x20, ((void *)0), 0)); |
97 | if (sv != NULL((void *)0)) item->max_size = SvIV(*sv)(((*sv)->sv_flags & 0x00010000) ? ((XPVIV*) (*sv)-> sv_any)->xiv_iv : Perl_sv_2iv_flags(*sv, 2)); |
98 | } |
99 | } |
100 | |
101 | PUTBACKPL_stack_sp = sp; |
102 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); |
103 | LEAVEPerl_pop_scope(); |
104 | } |
105 | |
106 | |
107 | static void sig_perl_statusbar(SBAR_ITEM_REC *item, int get_size_only) |
108 | { |
109 | char *function; |
110 | |
111 | function = g_hash_table_lookup(perl_sbar_defs, item->config->name); |
112 | if (function != NULL((void *)0)) |
113 | perl_statusbar_event(function, item, get_size_only); |
114 | else { |
115 | /* use default function - this shouldn't actually happen.. */ |
116 | statusbar_item_default_handler(item, get_size_only, NULL((void *)0), "", TRUE(1)); |
117 | } |
118 | } |
119 | |
120 | #ifndef PERL_UNUSED_VAR |
121 | # define PERL_UNUSED_VAR(var)((void)var) if (0) var = var |
122 | #endif |
123 | |
124 | #line 125 "Statusbar.c" |
125 | |
126 | XS(XS_Irssi_statusbar_item_register)void XS_Irssi_statusbar_item_register( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ |
127 | XS(XS_Irssi_statusbar_item_register)void XS_Irssi_statusbar_item_register( CV* cv __attribute__(( unused))) |
128 | { |
129 | #ifdef dVAR |
130 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
131 | #else |
132 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
133 | #endif |
134 | if (items < 2 || items > 3) |
135 | Perl_croak(aTHX_ "Usage: %s(%s)", "Irssi::statusbar_item_register", "name, value, func = NULL"); |
136 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
137 | { |
138 | char * name = (char *)SvPV_nolen(ST(0))(((PL_stack_base[ax + (0)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (0)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (0)], 0, 2)); |
139 | char * value = (char *)SvPV_nolen(ST(1))(((PL_stack_base[ax + (1)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (1)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (1)], 0, 2)); |
140 | char * func; |
141 | |
142 | if (items < 3) |
143 | func = NULL((void *)0); |
144 | else { |
145 | func = (char *)SvPV_nolen(ST(2))(((PL_stack_base[ax + (2)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (2)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (2)], 0, 2)); |
146 | } |
147 | #line 120 "Statusbar.xs" |
148 | statusbar_item_register(name, value, func == NULL((void *)0) || *func == '\0' ? NULL((void *)0) : sig_perl_statusbar); |
149 | if (func != NULL((void *)0)) { |
150 | g_hash_table_insert(perl_sbar_defs, g_strdup(name), |
151 | g_strdup_printf("%s::%s", perl_get_package(), func)); |
152 | } |
153 | #line 154 "Statusbar.c" |
154 | } |
155 | XSRETURN_EMPTY(void)( { (void)( { const IV tmpXSoff = (0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
156 | } |
157 | |
158 | |
159 | XS(XS_Irssi_statusbar_item_unregister)void XS_Irssi_statusbar_item_unregister( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
160 | XS(XS_Irssi_statusbar_item_unregister)void XS_Irssi_statusbar_item_unregister( CV* cv __attribute__ ((unused))) |
161 | { |
162 | #ifdef dVAR |
163 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
164 | #else |
165 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
166 | #endif |
167 | if (items != 1) |
168 | Perl_croak(aTHX_ "Usage: %s(%s)", "Irssi::statusbar_item_unregister", "name"); |
169 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
170 | { |
171 | char * name = (char *)SvPV_nolen(ST(0))(((PL_stack_base[ax + (0)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (0)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (0)], 0, 2)); |
172 | #line 130 "Statusbar.xs" |
173 | gpointer key, value; |
174 | #line 175 "Statusbar.c" |
175 | #line 132 "Statusbar.xs" |
176 | if (g_hash_table_lookup_extended(perl_sbar_defs, name, &key, &value)) { |
177 | g_hash_table_remove(perl_sbar_defs, name); |
178 | g_free(key); |
179 | g_free(value); |
180 | } |
181 | statusbar_item_unregister(name); |
182 | #line 183 "Statusbar.c" |
183 | } |
184 | XSRETURN_EMPTY(void)( { (void)( { const IV tmpXSoff = (0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
185 | } |
186 | |
187 | |
188 | XS(XS_Irssi_statusbar_items_redraw)void XS_Irssi_statusbar_items_redraw( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
189 | XS(XS_Irssi_statusbar_items_redraw)void XS_Irssi_statusbar_items_redraw( CV* cv __attribute__((unused ))) |
190 | { |
191 | #ifdef dVAR |
192 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
193 | #else |
194 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
195 | #endif |
196 | if (items != 1) |
197 | Perl_croak(aTHX_ "Usage: %s(%s)", "Irssi::statusbar_items_redraw", "name"); |
198 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
199 | { |
200 | char * name = (char *)SvPV_nolen(ST(0))(((PL_stack_base[ax + (0)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (0)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (0)], 0, 2)); |
201 | |
202 | statusbar_items_redraw(name); |
203 | } |
204 | XSRETURN_EMPTY(void)( { (void)( { const IV tmpXSoff = (0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
205 | } |
206 | |
207 | |
208 | XS(XS_Irssi_statusbars_recreate_items)void XS_Irssi_statusbars_recreate_items( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
209 | XS(XS_Irssi_statusbars_recreate_items)void XS_Irssi_statusbars_recreate_items( CV* cv __attribute__ ((unused))) |
210 | { |
211 | #ifdef dVAR |
212 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
213 | #else |
214 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
215 | #endif |
216 | if (items != 0) |
217 | Perl_croak(aTHX_ "Usage: %s(%s)", "Irssi::statusbars_recreate_items", ""); |
218 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
219 | { |
220 | |
221 | statusbars_recreate_items(); |
222 | } |
223 | XSRETURN_EMPTY(void)( { (void)( { const IV tmpXSoff = (0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
224 | } |
225 | |
226 | |
227 | XS(XS_Irssi__TextUI__StatusbarItem_default_handler)void XS_Irssi__TextUI__StatusbarItem_default_handler( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ |
228 | XS(XS_Irssi__TextUI__StatusbarItem_default_handler)void XS_Irssi__TextUI__StatusbarItem_default_handler( CV* cv __attribute__ ((unused))) |
229 | { |
230 | #ifdef dVAR |
231 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
232 | #else |
233 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
234 | #endif |
235 | if (items < 4 || items > 5) |
236 | Perl_croak(aTHX_ "Usage: %s(%s)", "Irssi::TextUI::StatusbarItem::default_handler", "item, get_size_only, str, data, escape_vars = TRUE"); |
237 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
238 | { |
239 | Irssi__TextUI__StatusbarItem item = irssi_ref_object(ST(0)PL_stack_base[ax + (0)]); |
240 | int get_size_only = (int)SvIV(ST(1))(((PL_stack_base[ax + (1)])->sv_flags & 0x00010000) ? ( (XPVIV*) (PL_stack_base[ax + (1)])->sv_any)->xiv_iv : Perl_sv_2iv_flags (PL_stack_base[ax + (1)], 2)); |
241 | char * str = (char *)SvPV_nolen(ST(2))(((PL_stack_base[ax + (2)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (2)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (2)], 0, 2)); |
242 | char * data = (char *)SvPV_nolen(ST(3))(((PL_stack_base[ax + (3)])->sv_flags & (0x00040000)) == 0x00040000 ? ((XPV*) (PL_stack_base[ax + (3)])->sv_any)-> xpv_pv : Perl_sv_2pv_flags(PL_stack_base[ax + (3)], 0, 2)); |
243 | int escape_vars; |
244 | #line 158 "Statusbar.xs" |
245 | HV *hv; |
246 | #line 247 "Statusbar.c" |
247 | |
248 | if (items < 5) |
249 | escape_vars = TRUE(1); |
250 | else { |
251 | escape_vars = (int)SvIV(ST(4))(((PL_stack_base[ax + (4)])->sv_flags & 0x00010000) ? ( (XPVIV*) (PL_stack_base[ax + (4)])->sv_any)->xiv_iv : Perl_sv_2iv_flags (PL_stack_base[ax + (4)], 2)); |
252 | } |
253 | #line 160 "Statusbar.xs" |
254 | statusbar_item_default_handler(item, get_size_only, |
255 | *str == '\0' ? NULL((void *)0) : str, |
256 | data, escape_vars); |
257 | hv = hvref(ST(0))(((PL_stack_base[ax + (0)]) && ((PL_stack_base[ax + ( 0)])->sv_flags & 0x00080000) && ((XRV*) (PL_stack_base [ax + (0)])->sv_any)->xrv_rv && (((svtype)((((XRV *) (PL_stack_base[ax + (0)])->sv_any)->xrv_rv)->sv_flags & 0xff)) == SVt_PVHV)) ? (HV *)((XRV*) (PL_stack_base[ax + (0)])->sv_any)->xrv_rv : ((void *)0)); |
258 | hv_store(hv, "min_size", 8, newSViv(item->min_size), 0)((SV**) Perl_hv_common_key_len((hv), ("min_size"), (8), (0x04 |0x20), (Perl_newSViv(item->min_size)), (0))); |
259 | hv_store(hv, "max_size", 8, newSViv(item->max_size), 0)((SV**) Perl_hv_common_key_len((hv), ("max_size"), (8), (0x04 |0x20), (Perl_newSViv(item->max_size)), (0))); |
260 | #line 261 "Statusbar.c" |
261 | } |
262 | XSRETURN_EMPTY(void)( { (void)( { const IV tmpXSoff = (0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
263 | } |
264 | |
265 | #ifdef __cplusplus |
266 | extern "C" |
267 | #endif |
268 | XS(boot_Irssi__TextUI__Statusbar)void boot_Irssi__TextUI__Statusbar( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ |
269 | XS(boot_Irssi__TextUI__Statusbar)void boot_Irssi__TextUI__Statusbar( CV* cv __attribute__((unused ))) |
270 | { |
271 | #ifdef dVAR |
272 | dVAR; dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
273 | #else |
274 | dXSARGSSV **sp = PL_stack_sp; I32 ax = (*PL_markstack_ptr--); register SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark ); |
275 | #endif |
276 | char* file = __FILE__"Statusbar.c"; |
277 | |
278 | PERL_UNUSED_VAR(cv)((void)cv); /* -W */ |
279 | PERL_UNUSED_VAR(items)((void)items); /* -W */ |
280 | XS_VERSION_BOOTCHECK(void)( { SV *_sv; const char *vn = ((void *)0), *module = (( (PL_stack_base[ax + (0)])->sv_flags & (0x00040000)) == 0x00040000 ? ((const char*) (0 + ((XPV*) (PL_stack_base[ax + (0)])->sv_any)->xpv_pv)) : Perl_sv_2pv_flags(PL_stack_base [ax + (0)], 0, 2|32)); if (items >= 2) _sv = PL_stack_base [ax + (1)]; else { _sv = Perl_get_sv(Perl_form( "%s::%s", module , vn = "XS_VERSION"), (0)); if (!_sv || !((_sv)->sv_flags & (0x00010000|0x00020000|0x00040000|0x00080000| 0x01000000|0x02000000 |0x04000000))) _sv = Perl_get_sv(Perl_form( "%s::%s", module, vn = "VERSION"), (0)); } if (_sv && (!((_sv)->sv_flags & (0x00010000|0x00020000|0x00040000|0x00080000| 0x01000000 |0x02000000|0x04000000)) || (strcmp("0.9",(((_sv)->sv_flags & (0x00040000)) == 0x00040000 ? ((const char*) (0 + ((XPV *) (_sv)->sv_any)->xpv_pv)) : Perl_sv_2pv_flags(_sv, 0, 2|32)))))) Perl_croak( "%s object version %s does not match %s%s%s%s %" "_", module, "0.9", vn ? "$" : "", vn ? module : "", vn ? "::" : "", vn ? vn : "bootstrap parameter", _sv); } ) ; |
281 | |
282 | newXSproto("Irssi::statusbar_item_register", XS_Irssi_statusbar_item_register, file, "$$;$")Perl_newXS_flags("Irssi::statusbar_item_register",XS_Irssi_statusbar_item_register ,file,"$$;$",0); |
283 | newXSproto("Irssi::statusbar_item_unregister", XS_Irssi_statusbar_item_unregister, file, "$")Perl_newXS_flags("Irssi::statusbar_item_unregister",XS_Irssi_statusbar_item_unregister ,file,"$",0); |
284 | newXSproto("Irssi::statusbar_items_redraw", XS_Irssi_statusbar_items_redraw, file, "$")Perl_newXS_flags("Irssi::statusbar_items_redraw",XS_Irssi_statusbar_items_redraw ,file,"$",0); |
285 | newXSproto("Irssi::statusbars_recreate_items", XS_Irssi_statusbars_recreate_items, file, "")Perl_newXS_flags("Irssi::statusbars_recreate_items",XS_Irssi_statusbars_recreate_items ,file,"",0); |
286 | newXSproto("Irssi::TextUI::StatusbarItem::default_handler", XS_Irssi__TextUI__StatusbarItem_default_handler, file, "$$$$;$")Perl_newXS_flags("Irssi::TextUI::StatusbarItem::default_handler" ,XS_Irssi__TextUI__StatusbarItem_default_handler,file,"$$$$;$" ,0); |
287 | XSRETURN_YES(void)( { (PL_stack_base[ax + (0)] = &PL_sv_yes ); (void) ( { const IV tmpXSoff = (1); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } ); } ); |
288 | } |
289 |