| line |
true |
false |
branch |
|
64
|
0 |
0 |
PUSHMARK(SP); |
|
67
|
0 |
0 |
while (*arg_p) |
|
72
|
0 |
0 |
arg.sc = va_arg_schar(av); |
|
73
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.sc))); |
|
76
|
0 |
0 |
arg.uc = va_arg_uchar(av); |
|
77
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.uc))); |
|
80
|
0 |
0 |
arg.ss = va_arg_short(av); |
|
81
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.ss))); |
|
84
|
0 |
0 |
arg.us = va_arg_ushort(av); |
|
85
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.us))); |
|
88
|
0 |
0 |
arg.si = va_arg_int(av); |
|
89
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.si))); |
|
92
|
0 |
0 |
arg.ui = va_arg_uint(av); |
|
93
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.ui))); |
|
96
|
0 |
0 |
arg.sl = va_arg_long(av); |
|
97
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.sl))); |
|
100
|
0 |
0 |
arg.ul = va_arg_ulong(av); |
|
101
|
0 |
0 |
XPUSHs(sv_2mortal(newSViv(arg.ul))); |
|
104
|
0 |
0 |
arg.f = va_arg_float(av); |
|
|
0 |
0 |
arg.f = va_arg_float(av); |
|
|
0 |
0 |
arg.f = va_arg_float(av); |
|
105
|
0 |
0 |
XPUSHs(sv_2mortal(newSVnv(arg.f))); |
|
108
|
0 |
0 |
arg.d = va_arg_double(av); |
|
109
|
0 |
0 |
XPUSHs(sv_2mortal(newSVnv(arg.d))); |
|
112
|
0 |
0 |
arg.p = va_arg_ptr(av, char*); |
|
113
|
0 |
0 |
XPUSHs(sv_2mortal(newSVpv(arg.p, 0))); |
|
128
|
0 |
0 |
case 'v': va_return_void(av); break; |
|
|
0 |
0 |
case 'v': va_return_void(av); break; |
|
129
|
0 |
0 |
case 'c': arg.sc = POPi; va_return_schar(av, arg.sc); break; |
|
|
0 |
0 |
case 'c': arg.sc = POPi; va_return_schar(av, arg.sc); break; |
|
|
0 |
0 |
case 'c': arg.sc = POPi; va_return_schar(av, arg.sc); break; |
|
130
|
0 |
0 |
case 'C': arg.uc = POPi; va_return_uchar(av, arg.uc); break; |
|
|
0 |
0 |
case 'C': arg.uc = POPi; va_return_uchar(av, arg.uc); break; |
|
|
0 |
0 |
case 'C': arg.uc = POPi; va_return_uchar(av, arg.uc); break; |
|
131
|
0 |
0 |
case 's': arg.ss = POPi; va_return_short(av, arg.ss); break; |
|
|
0 |
0 |
case 's': arg.ss = POPi; va_return_short(av, arg.ss); break; |
|
|
0 |
0 |
case 's': arg.ss = POPi; va_return_short(av, arg.ss); break; |
|
132
|
0 |
0 |
case 'S': arg.us = POPi; va_return_ushort(av, arg.us); break; |
|
|
0 |
0 |
case 'S': arg.us = POPi; va_return_ushort(av, arg.us); break; |
|
|
0 |
0 |
case 'S': arg.us = POPi; va_return_ushort(av, arg.us); break; |
|
133
|
0 |
0 |
case 'i': arg.si = POPi; va_return_int(av, arg.si); break; |
|
|
0 |
0 |
case 'i': arg.si = POPi; va_return_int(av, arg.si); break; |
|
|
0 |
0 |
case 'i': arg.si = POPi; va_return_int(av, arg.si); break; |
|
134
|
0 |
0 |
case 'I': arg.ui = POPi; va_return_uint(av, arg.ui); break; |
|
|
0 |
0 |
case 'I': arg.ui = POPi; va_return_uint(av, arg.ui); break; |
|
|
0 |
0 |
case 'I': arg.ui = POPi; va_return_uint(av, arg.ui); break; |
|
135
|
0 |
0 |
case 'l': arg.sl = POPi; va_return_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = POPi; va_return_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = POPi; va_return_long(av, arg.sl); break; |
|
136
|
0 |
0 |
case 'L': arg.ul = POPi; va_return_ulong(av, arg.ul); break; |
|
|
0 |
0 |
case 'L': arg.ul = POPi; va_return_ulong(av, arg.ul); break; |
|
|
0 |
0 |
case 'L': arg.ul = POPi; va_return_ulong(av, arg.ul); break; |
|
137
|
0 |
0 |
case 'f': arg.f = POPn; va_return_double(av, arg.f); break; |
|
|
0 |
0 |
case 'f': arg.f = POPn; va_return_double(av, arg.f); break; |
|
|
0 |
0 |
case 'f': arg.f = POPn; va_return_double(av, arg.f); break; |
|
138
|
0 |
0 |
case 'd': arg.d = POPn; va_return_double(av, arg.d); break; |
|
|
0 |
0 |
case 'd': arg.d = POPn; va_return_double(av, arg.d); break; |
|
|
0 |
0 |
case 'd': arg.d = POPn; va_return_double(av, arg.d); break; |
|
139
|
0 |
0 |
case 'p': arg.p = POPp; va_return_ptr(av, char*, arg.p); break; |
|
|
0 |
0 |
case 'p': arg.p = POPp; va_return_ptr(av, char*, arg.p); break; |
|
|
0 |
0 |
case 'p': arg.p = POPp; va_return_ptr(av, char*, arg.p); break; |
|
143
|
0 |
0 |
FREETMPS; |
|
152
|
0 |
4 |
if (len < 2) |
|
155
|
0 |
4 |
if (*sig != 'c' && *sig != 's') |
|
|
0 |
0 |
if (*sig != 'c' && *sig != 's') |
|
158
|
0 |
4 |
if (strchr("cCsSiIlLfdpv", sig[1]) == NULL) |
|
162
|
0 |
4 |
if (i != len-2) |
|
198
|
0 |
4 |
#ifdef WIN32 /* Set via Makefile.PL */ |
|
201
|
5 |
4 |
#endif |
|
207
|
0 |
5 |
char type = sig[i]; |
|
212
|
0 |
0 |
switch(type) |
|
|
0 |
0 |
switch(type) |
|
|
0 |
0 |
switch(type) |
|
213
|
0 |
0 |
{ |
|
|
0 |
0 |
{ |
|
|
0 |
0 |
{ |
|
214
|
0 |
0 |
case 'c': arg.sc = SvIV(ST(i)); av_schar(av, arg.sc); break; |
|
|
0 |
0 |
case 'c': arg.sc = SvIV(ST(i)); av_schar(av, arg.sc); break; |
|
|
0 |
0 |
case 'c': arg.sc = SvIV(ST(i)); av_schar(av, arg.sc); break; |
|
215
|
0 |
0 |
case 'C': arg.uc = SvIV(ST(i)); av_uchar(av, arg.uc); break; |
|
|
0 |
0 |
case 'C': arg.uc = SvIV(ST(i)); av_uchar(av, arg.uc); break; |
|
|
0 |
0 |
case 'C': arg.uc = SvIV(ST(i)); av_uchar(av, arg.uc); break; |
|
216
|
0 |
0 |
case 's': arg.ss = SvIV(ST(i)); av_short(av, arg.ss); break; |
|
|
0 |
0 |
case 's': arg.ss = SvIV(ST(i)); av_short(av, arg.ss); break; |
|
|
0 |
0 |
case 's': arg.ss = SvIV(ST(i)); av_short(av, arg.ss); break; |
|
217
|
0 |
0 |
case 'S': arg.us = SvIV(ST(i)); av_ushort(av, arg.us); break; |
|
|
0 |
0 |
case 'S': arg.us = SvIV(ST(i)); av_ushort(av, arg.us); break; |
|
|
0 |
0 |
case 'S': arg.us = SvIV(ST(i)); av_ushort(av, arg.us); break; |
|
218
|
0 |
0 |
case 'i': arg.si = SvIV(ST(i)); av_int(av, arg.si); break; |
|
|
0 |
0 |
case 'i': arg.si = SvIV(ST(i)); av_int(av, arg.si); break; |
|
|
0 |
0 |
case 'i': arg.si = SvIV(ST(i)); av_int(av, arg.si); break; |
|
219
|
0 |
0 |
case 'I': arg.ui = SvIV(ST(i)); av_uint(av, arg.ui); break; |
|
|
0 |
0 |
case 'I': arg.ui = SvIV(ST(i)); av_uint(av, arg.ui); break; |
|
|
0 |
0 |
case 'I': arg.ui = SvIV(ST(i)); av_uint(av, arg.ui); break; |
|
220
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
|
0 |
0 |
case 'l': arg.sl = SvIV(ST(i)); av_long(av, arg.sl); break; |
|
221
|
1 |
1 |
case 'L': arg.ul = SvIV(ST(i)); av_ulong(av, arg.ul); break; |
|
|
2 |
0 |
case 'L': arg.ul = SvIV(ST(i)); av_ulong(av, arg.ul); break; |
|
|
0 |
0 |
case 'L': arg.ul = SvIV(ST(i)); av_ulong(av, arg.ul); break; |
|
222
|
3 |
0 |
case 'f': arg.f = SvNV(ST(i)); av_float(av, arg.f); break; |
|
|
3 |
0 |
case 'f': arg.f = SvNV(ST(i)); av_float(av, arg.f); break; |
|
|
0 |
0 |
case 'f': arg.f = SvNV(ST(i)); av_float(av, arg.f); break; |
|
226
|
0 |
4 |
} |
|
232
|
0 |
0 |
{ |
|
233
|
0 |
0 |
case 'v': break; |
|
234
|
0 |
0 |
case 'c': XPUSHs(newSViv(rv.sc)); break; |
|
235
|
0 |
0 |
case 'C': XPUSHs(newSViv(rv.uc)); break; |
|
236
|
0 |
2 |
case 's': XPUSHs(newSViv(rv.ss)); break; |
|
237
|
0 |
1 |
case 'S': XPUSHs(newSViv(rv.us)); break; |
|
238
|
0 |
0 |
case 'i': XPUSHs(newSViv(rv.si)); break; |
|
239
|
0 |
0 |
case 'I': XPUSHs(newSViv(rv.ui)); break; |
|
240
|
0 |
0 |
case 'l': XPUSHs(newSViv(rv.sl)); break; |
|
241
|
0 |
1 |
case 'L': XPUSHs(newSViv(rv.ul)); break; |
|
242
|
0 |
0 |
case 'f': XPUSHs(newSVnv(rv.f)); break; |
|
274
|
0 |
0 |
XPUSHs(newSViv(SvIV(SvRV(self)))); |
|
|
0 |
0 |
XPUSHs(newSViv(SvIV(SvRV(self)))); |
|
283
|
0 |
0 |
cb = SvIV(SvRV(self)); |