Changes in perlglue.xs [fe7616e:ffc4df6]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perlglue.xs
rfe7616e rffc4df6 318 318 319 319 void 320 add_dispatch(fd, cb)320 remove_io_dispatch(fd) 321 321 int 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 322 CODE: 323 owl_select_remove_perl_io_dispatch(fd); 332 324 333 325 AV* 334 326 all_filters() 335 327 PREINIT: 328 AV *filters; 336 329 const owl_list *fl; 330 const owl_filter *f; 331 int i; 337 332 CODE: 338 333 { 339 334 fl = owl_global_get_filterlist(&g); 340 RETVAL = owl_new_av(fl, (SV*(*)(const void*))owl_filter_to_sv); 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; 341 341 sv_2mortal((SV*)RETVAL); 342 342 } … … 347 347 all_styles() 348 348 PREINIT: 349 AV *styles; 349 350 owl_list l; 351 const char *name; 352 int i; 350 353 CODE: 351 354 { 352 355 owl_list_create(&l); 353 356 owl_global_get_style_names(&g, &l); 354 RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 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; 355 363 sv_2mortal((SV*)RETVAL); 356 364 } … … 364 372 all_variables() 365 373 PREINIT: 374 AV *vars; 366 375 owl_list l; 376 const char *name; 377 int i; 367 378 CODE: 368 379 { 369 380 owl_list_create(&l); 370 381 owl_dict_get_keys(owl_global_get_vardict(&g), &l); 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); 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; 391 388 sv_2mortal((SV*)RETVAL); 392 389 } … … 504 501 ival); 505 502 503 void 504 add_io_dispatch(fd, mode, cb) 505 int fd 506 int mode 507 SV * cb 508 CODE: 509 owl_select_add_perl_io_dispatch(fd, mode, SvREFCNT_inc(cb)); 510 506 511 IV 507 512 add_timer(after, interval, cb)
Note: See TracChangeset
for help on using the changeset viewer.