root/libswish3/trunk/bindings/perl/XS/Stash.xs

Revision 2176, 0.9 kB (checked in by karpet, 4 months ago)

all tests passing, all (known) leaks fixed

Line 
1 MODULE = SWISH::3       PACKAGE = SWISH::3::Stash
2
3 PROTOTYPES: enable
4
5 SV*
6 get(self,key)
7     SV* self;
8     SV* key;
9    
10     PREINIT:
11         SV* value;
12        
13     CODE:
14         RETVAL = sp_Stash_get( self, SvPV(key, PL_na) );
15         SvREFCNT_inc(RETVAL);
16        
17     OUTPUT:
18         RETVAL
19        
20
21 void
22 set(self,key,value)
23     SV* self;
24     SV* key;
25     SV* value;
26    
27     CODE:
28         sp_Stash_set(self, SvPV(key, PL_na), value);
29
30
31
32 AV*
33 keys(self)
34     SV* self;
35            
36     CODE:
37         RETVAL = sp_hv_keys( sp_extract_hash(self) );
38    
39     OUTPUT:
40         RETVAL   
41
42
43 AV*
44 values(self)
45     SV* self;
46            
47     CODE:
48         RETVAL = sp_hv_values( sp_extract_hash(self) );
49    
50     OUTPUT:
51         RETVAL   
52
53
54 void
55 DESTROY(self)
56     SV *self;
57    
58     CODE:
59    
60         if (SWISH_DEBUG & SWISH_DEBUG_MEMORY) {
61             warn("DESTROYing Stash object %s [0x%x]",
62                 SvPV(ST(0), PL_na), (long int)self);
63            
64         }
65
Note: See TracBrowser for help on using the browser.