File Coverage

xs/Z85.xs
Criterion Covered Total %
statement 16 18 88.8
branch 6 8 75.0
condition n/a
subroutine n/a
pod n/a
total 22 26 84.6


line stmt bran cond sub pod time code
1             MODULE = ZMQ::Raw PACKAGE = ZMQ::Raw::Z85
2              
3             SV *
4             encode (class, decoded)
5             SV *class
6             SV *decoded
7              
8             PREINIT:
9             SV *encoded;
10              
11             CODE:
12 2 100         if (SvCUR (decoded)%4)
13 1           croak_usage ("decoded length must be divisible by 4");
14              
15 1           encoded = sv_2mortal (newSV ((SvCUR (decoded)*4)/3+1));
16 1           SvPOK_on (encoded);
17 1           SvCUR_set (encoded, (SvCUR (decoded)*4)/3);
18              
19 1 50         if (zmq_z85_encode (SvPVX (encoded), (const uint8_t *)SvPVX (decoded), SvCUR (decoded)) == NULL)
20 0           croak_usage ("encode failed");
21              
22 1           SvREFCNT_inc (encoded);
23 1           RETVAL = encoded;
24              
25             OUTPUT: RETVAL
26              
27             SV *
28             decode (class, encoded)
29             SV *class
30             SV *encoded
31              
32             PREINIT:
33             SV *decoded;
34              
35             CODE:
36 3 100         if (SvCUR (encoded)%5)
37 1           croak_usage ("encoded length must be divisible by 5");
38              
39 2           decoded = sv_2mortal (newSV ((SvCUR (encoded)*4)/5+1));
40 2           SvPOK_on (decoded);
41 2           SvCUR_set (decoded, (SvCUR (encoded)*4)/5);
42              
43 2 50         if (zmq_z85_decode ((uint8_t *)SvPVX (decoded), SvPVX (encoded)) == NULL)
44 0           croak_usage ("decode failed");
45              
46 2           SvREFCNT_inc (decoded);
47 2           RETVAL = decoded;
48              
49             OUTPUT: RETVAL
50