ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Linux-DVB/DVB.xs
(Generate patch)

Comparing Linux-DVB/DVB.xs (file contents):
Revision 1.4 by root, Tue Apr 5 03:42:21 2005 UTC vs.
Revision 1.5 by root, Wed May 24 17:17:16 2006 UTC

334{ 334{
335 if (dec_sv) 335 if (dec_sv)
336 SvREFCNT_dec (dec_sv); 336 SvREFCNT_dec (dec_sv);
337 337
338 dec_sv = newSVsv (data); 338 dec_sv = newSVsv (data);
339 dec_data = SvPVbyte (dec_sv, dec_len); 339 dec_data = (u8 *)SvPVbyte (dec_sv, dec_len);
340 dec_ofs = 0; 340 dec_ofs = 0;
341 dec_len8 = dec_len << 3; 341 dec_len8 = dec_len << 3;
342} 342}
343 343
344static U32 344static U32
410 410
411static SV * 411static SV *
412text2sv (u8 *data, U32 len) 412text2sv (u8 *data, U32 len)
413{ 413{
414 dSP; 414 dSP;
415 SV *sv = newSVpvn (data, clamp (len)); 415 SV *sv = newSVpvn ((char *)data, clamp (len));
416 416
417 PUSHMARK (SP); 417 PUSHMARK (SP);
418 XPUSHs (sv); 418 XPUSHs (sv);
419 PUTBACK; 419 PUTBACK;
420 call_pv ("Linux::DVB::Decode::text", G_VOID); 420 call_pv ("Linux::DVB::Decode::text", G_VOID);
422 return sv; 422 return sv;
423} 423}
424 424
425#define DEC_I(hv, bits, name) HVS (hv, name, newSViv (decode_field (bits))) 425#define DEC_I(hv, bits, name) HVS (hv, name, newSViv (decode_field (bits)))
426#define DEC_T(hv, bytes, name) HVS (hv, name, text2sv (dec_data + (dec_ofs >> 3), clamp (bytes))), dec_ofs += clamp (bytes) << 3 426#define DEC_T(hv, bytes, name) HVS (hv, name, text2sv (dec_data + (dec_ofs >> 3), clamp (bytes))), dec_ofs += clamp (bytes) << 3
427#define DEC_S(hv, bytes, name) HVS (hv, name, newSVpvn (dec_data + (dec_ofs >> 3), clamp (bytes))), dec_ofs += clamp (bytes) << 3 427#define DEC_S(hv, bytes, name) HVS (hv, name, newSVpvn ((char *)dec_data + (dec_ofs >> 3), clamp (bytes))), dec_ofs += clamp (bytes) << 3
428 428
429static AV * 429static AV *
430decode_descriptors (long end) 430decode_descriptors (long end)
431{ 431{
432 AV *av = newAV (); 432 AV *av = newAV ();
871 RETVAL 871 RETVAL
872 872
873MODULE = Linux::DVB PACKAGE = Linux::DVB::Decode PREFIX = decode_ 873MODULE = Linux::DVB PACKAGE = Linux::DVB::Decode PREFIX = decode_
874 874
875void 875void
876set (SV *data) 876decode_set (SV *data)
877 CODE: 877 CODE:
878 878
879int 879int
880len () 880decode_len ()
881 CODE: 881 CODE:
882 RETVAL = (dec_ofs + 7) >> 3; 882 RETVAL = (dec_ofs + 7) >> 3;
883 OUTPUT: 883 OUTPUT:
884 RETVAL 884 RETVAL
885 885
886U32 886U32
887field (int bits) 887decode_field (int bits)
888 888
889SV * 889SV *
890si (SV *stream) 890decode_si (SV *stream)
891 CODE: 891 CODE:
892 HV *hv = newHV (); 892 HV *hv = newHV ();
893 893
894 int syntax_indicator; 894 int syntax_indicator;
895 U8 table_id; 895 U8 table_id;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines