File Coverage

hax/sv_streq.c.inc
Criterion Covered Total %
statement 6 13 46.1
branch 6 68 8.8
condition n/a
subroutine n/a
pod n/a
total 12 81 14.8


line stmt bran cond sub pod time code
1             /* vi: set ft=c : */
2              
3             #ifndef sv_streq_flags
4             # define sv_streq_flags(lhs, rhs, flags) S_sv_streq_flags(aTHX_ lhs, rhs, flags)
5 4           static bool S_sv_streq_flags(pTHX_ SV *lhs, SV *rhs, U32 flags)
6             {
7 4 50         if(flags & SV_GMAGIC) {
8 0 0         if(lhs)
9 0 0         SvGETMAGIC(lhs);
10 0 0         if(rhs)
11 0 0         SvGETMAGIC(rhs);
12             }
13              
14 4 50         if(!lhs)
15             lhs = &PL_sv_undef;
16 4 50         if(!rhs)
17             rhs = &PL_sv_undef;
18              
19 4 50         if(!(flags & SV_SKIP_OVERLOAD) && (SvAMAGIC(lhs) || SvAMAGIC(rhs))) {
    50          
    0          
    0          
    50          
    0          
    0          
20 0           SV *ret = amagic_call(lhs, rhs, seq_amg, 0);
21 0 0         if(ret)
22 0 0         return SvTRUE(ret);
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
    0          
23             }
24              
25 4           return sv_eq_flags(lhs, rhs, 0);
26             }
27             #endif
28              
29             #ifndef sv_streq
30             # define sv_streq(lhs, rhs) sv_streq_flags(lhs, rhs, 0)
31             #endif