Changeset 3ff3d86 for perlglue.xs


Ignore:
Timestamp:
Aug 5, 2009, 9:26:44 PM (12 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Branches:
master, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
d5ccf4e8
Parents:
06f5ef8
git-author:
Nelson Elhage <nelhage@mit.edu> (08/05/09 21:19:53)
git-committer:
Nelson Elhage <nelhage@mit.edu> (08/05/09 21:26:44)
Message:
Complete variables and style names
File:
1 edited

Legend:

Unmodified
Added
Removed
  • perlglue.xs

    r747d6a5 r3ff3d86  
    363363                RETVAL
    364364
     365AV*
     366all_styles()
     367        PREINIT:
     368                AV *styles;
     369                owl_list l;
     370                char *name;
     371                int i;
     372        CODE:
     373        {
     374                owl_list_create(&l);
     375                owl_global_get_style_names(&g, &l);
     376                styles = newAV();
     377                for(i=0;i<owl_list_get_size(&l);i++) {
     378                        name = owl_list_get_element(&l, i);
     379                        av_push(styles, newSVpv(name, 0));
     380                }
     381                RETVAL = styles;
     382                sv_2mortal((SV*)RETVAL);
     383        }
     384        OUTPUT:
     385                RETVAL
     386        CLEANUP:
     387                owl_list_free_all(&l, owl_free);
     388
     389
     390AV*
     391all_variables()
     392        PREINIT:
     393                AV *vars;
     394                owl_list l;
     395                char *name;
     396                int i;
     397        CODE:
     398        {
     399                owl_list_create(&l);
     400                owl_dict_get_keys(owl_global_get_vardict(&g), &l);
     401                vars = newAV();
     402                for(i=0;i<owl_list_get_size(&l);i++) {
     403                        name = owl_list_get_element(&l, i);
     404                        av_push(vars, newSVpv(name, 0));
     405                }
     406                RETVAL = vars;
     407                sv_2mortal((SV*)RETVAL);
     408        }
     409        OUTPUT:
     410                RETVAL
     411        CLEANUP:
     412                owl_list_free_all(&l, owl_free);
     413
    365414MODULE = BarnOwl                PACKAGE = BarnOwl::Internal
    366415
Note: See TracChangeset for help on using the changeset viewer.