ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/cfperl.xs
(Generate patch)

Comparing deliantra/server/server/cfperl.xs (file contents):
Revision 1.222 by root, Sun Jun 24 04:09:29 2007 UTC vs.
Revision 1.223 by root, Tue Jun 26 04:50:05 2007 UTC

382 return SvPTR (sv, klass); 382 return SvPTR (sv, klass);
383 else 383 else
384 return 0; 384 return 0;
385} 385}
386 386
387static inline SV *
388newSVpvn_utf8 (const char *s, STRLEN l)
389{
390 SV *sv = newSVpvn (s, l);
391 SvUTF8_on (sv);
392 return sv;
393}
394
387inline SV *to_sv (const shstr & v) { return v ? newSVpvn ((const char *)v, v.length ()) : &PL_sv_undef; } 395inline SV *to_sv (const shstr & v) { return v ? newSVpvn_utf8 ((const char *)v, v.length ()) : &PL_sv_undef; }
388inline SV *to_sv (const char * v) { return newSVpv (v, 0); } 396inline SV *to_sv (const char * v) { return newSVpv (v, 0); }
389inline SV *to_sv (bool v) { return newSViv (v); } 397inline SV *to_sv (bool v) { return newSViv (v); }
390inline SV *to_sv ( signed char v) { return newSViv (v); } 398inline SV *to_sv ( signed char v) { return newSViv (v); }
391inline SV *to_sv (unsigned char v) { return newSViv (v); } 399inline SV *to_sv (unsigned char v) { return newSViv (v); }
392inline SV *to_sv ( signed short v) { return newSViv (v); } 400inline SV *to_sv ( signed short v) { return newSViv (v); }
419 char buf[128]; 427 char buf[128];
420 snprintf (buf, 128, "<1.%" PRIx64 ">", v.seq); 428 snprintf (buf, 128, "<1.%" PRIx64 ">", v.seq);
421 return newSVpv (buf, 0); 429 return newSVpv (buf, 0);
422} 430}
423 431
424inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPV_nolen (sv) : 0; } 432inline void sv_to (SV *sv, shstr &v) { v = SvOK (sv) ? SvPVutf8_nolen (sv) : 0; }
425inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; } 433inline void sv_to (SV *sv, char * &v) { free (v); v = SvOK (sv) ? strdup (SvPV_nolen (sv)) : 0; }
426inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); } 434inline void sv_to (SV *sv, bool &v) { v = SvIV (sv); }
427inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); } 435inline void sv_to (SV *sv, signed char &v) { v = SvIV (sv); }
428inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); } 436inline void sv_to (SV *sv, unsigned char &v) { v = SvIV (sv); }
429inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); } 437inline void sv_to (SV *sv, signed short &v) { v = SvIV (sv); }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines