Changes in perlglue.xs [ffc4df6:fe7616e]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perlglue.xs
rffc4df6 rfe7616e 318 318 319 319 void 320 remove_io_dispatch(fd)320 add_dispatch(fd, cb) 321 321 int fd 322 CODE: 323 owl_select_remove_perl_io_dispatch(fd); 322 SV * cb 323 CODE: 324 owl_select_add_perl_dispatch(fd, SvREFCNT_inc(cb)); 325 326 void 327 remove_dispatch(fd) 328 int fd 329 CODE: 330 owl_select_remove_perl_dispatch(fd); 331 324 332 325 333 AV* 326 334 all_filters() 327 335 PREINIT: 328 AV *filters;329 336 const owl_list *fl; 330 const owl_filter *f;331 int i;332 337 CODE: 333 338 { 334 339 fl = owl_global_get_filterlist(&g); 335 filters = newAV(); 336 for(i=0;i<owl_list_get_size(fl);i++) { 337 f = owl_list_get_element(fl, i); 338 av_push(filters, owl_new_sv(owl_filter_get_name(f))); 339 } 340 RETVAL = filters; 340 RETVAL = owl_new_av(fl, (SV*(*)(const void*))owl_filter_to_sv); 341 341 sv_2mortal((SV*)RETVAL); 342 342 } … … 347 347 all_styles() 348 348 PREINIT: 349 AV *styles;350 349 owl_list l; 351 const char *name;352 int i;353 350 CODE: 354 351 { 355 352 owl_list_create(&l); 356 353 owl_global_get_style_names(&g, &l); 357 styles = newAV(); 358 for(i=0;i<owl_list_get_size(&l);i++) { 359 name = owl_list_get_element(&l, i); 360 av_push(styles, owl_new_sv(name)); 361 } 362 RETVAL = styles; 354 RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 363 355 sv_2mortal((SV*)RETVAL); 364 356 } … … 372 364 all_variables() 373 365 PREINIT: 374 AV *vars;375 366 owl_list l; 376 const char *name;377 int i;378 367 CODE: 379 368 { 380 369 owl_list_create(&l); 381 370 owl_dict_get_keys(owl_global_get_vardict(&g), &l); 382 vars = newAV(); 383 for(i=0;i<owl_list_get_size(&l);i++) { 384 name = owl_list_get_element(&l, i); 385 av_push(vars, owl_new_sv(name)); 386 } 387 RETVAL = vars; 371 RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 372 sv_2mortal((SV*)RETVAL); 373 } 374 OUTPUT: 375 RETVAL 376 CLEANUP: 377 owl_list_free_all(&l, owl_free); 378 379 380 AV* 381 all_keymaps() 382 PREINIT: 383 owl_list l; 384 const owl_keyhandler *kh; 385 CODE: 386 { 387 owl_list_create(&l); 388 kh = owl_global_get_keyhandler(&g); 389 owl_keyhandler_get_keymap_names(kh, &l); 390 RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 388 391 sv_2mortal((SV*)RETVAL); 389 392 } … … 501 504 ival); 502 505 503 void504 add_io_dispatch(fd, mode, cb)505 int fd506 int mode507 SV * cb508 CODE:509 owl_select_add_perl_io_dispatch(fd, mode, SvREFCNT_inc(cb));510 511 506 IV 512 507 add_timer(after, interval, cb)
Note: See TracChangeset
for help on using the changeset viewer.