… | |
… | |
159 | snprintf (buf, 128, "<1,%" PRIx64 ">", v.seq); |
159 | snprintf (buf, 128, "<1,%" PRIx64 ">", v.seq); |
160 | return newSVpv (buf, 0); |
160 | return newSVpv (buf, 0); |
161 | } |
161 | } |
162 | |
162 | |
163 | inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; } |
163 | inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; } |
164 | inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } //TODO: verify that all simple pointers are strdup-managed |
164 | inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } |
165 | inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); } |
165 | inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); } |
166 | inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); } |
166 | inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); } |
167 | inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); } |
167 | inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); } |
168 | inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); } |
168 | inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); } |
169 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |
169 | inline void sv_to (SV *sv, unsigned short &v) { v = SvIV (sv); } |