Changeset e3cbd65cfe991b0f4d6b753d76dc9e1157caa634

Show
Ignore:
Timestamp:
10/26/09 16:09:38 (4 weeks ago)
Author:
David Benjamin <davidben@mit.edu>
git-author:
David Benjamin <davidben@mit.edu> / 2009-10-05T22:53:21Z-0400
Parents:
3cc4bfc144304de096deb510403db0c38a62af68
Children:
fe7616e5988beed102273ee0ed321a352ba80297
git-committer:
David Benjamin <davidben@mit.edu> / 2009-10-26T16:09:38Z-0400
Message:
Use owl_new_av in exported functions

Simplified all_variables, all_filters, and all_styles.

Signed-off-by: David Benjamin <davidben@mit.edu>
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • perlglue.xs

    rbdbec0a re3cbd65  
    334334all_filters() 
    335335        PREINIT: 
    336                 AV *filters; 
    337336                const owl_list *fl; 
    338                 const owl_filter *f; 
    339                 int i; 
    340337        CODE: 
    341338        { 
    342339                fl = owl_global_get_filterlist(&g); 
    343                 filters = newAV(); 
    344                 for(i=0;i<owl_list_get_size(fl);i++) { 
    345                         f = owl_list_get_element(fl, i); 
    346                         av_push(filters, owl_new_sv(owl_filter_get_name(f))); 
    347                 } 
    348                 RETVAL = filters; 
     340                RETVAL = owl_new_av(fl, (SV*(*)(const void*))owl_filter_to_sv); 
    349341                sv_2mortal((SV*)RETVAL); 
    350342        } 
     
    355347all_styles() 
    356348        PREINIT: 
    357                 AV *styles; 
    358349                owl_list l; 
    359                 const char *name; 
    360                 int i; 
    361350        CODE: 
    362351        { 
    363352                owl_list_create(&l); 
    364353                owl_global_get_style_names(&g, &l); 
    365                 styles = newAV(); 
    366                 for(i=0;i<owl_list_get_size(&l);i++) { 
    367                         name = owl_list_get_element(&l, i); 
    368                         av_push(styles, owl_new_sv(name)); 
    369                 } 
    370                 RETVAL = styles; 
     354                RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 
    371355                sv_2mortal((SV*)RETVAL); 
    372356        } 
     
    380364all_variables() 
    381365        PREINIT: 
    382                 AV *vars; 
    383366                owl_list l; 
    384                 const char *name; 
    385                 int i; 
    386367        CODE: 
    387368        { 
    388369                owl_list_create(&l); 
    389370                owl_dict_get_keys(owl_global_get_vardict(&g), &l); 
    390                 vars = newAV(); 
    391                 for(i=0;i<owl_list_get_size(&l);i++) { 
    392                         name = owl_list_get_element(&l, i); 
    393                         av_push(vars, owl_new_sv(name)); 
    394                 } 
    395                 RETVAL = vars; 
     371                RETVAL = owl_new_av(&l, (SV*(*)(const void*))owl_new_sv); 
    396372                sv_2mortal((SV*)RETVAL); 
    397373        }