MCPcopy Create free account
hub / github.com/ararog/Unrar4iOS / ReadData

Method ReadData

Unrar4iOS/unrar/rarvm.cpp:732–765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

730
731
732uint RarVM::ReadData(BitInput &Inp)
733{
734 uint Data=Inp.fgetbits();
735 switch(Data&0xc000)
736 {
737 case 0:
738 Inp.faddbits(6);
739 return((Data>>10)&0xf);
740 case 0x4000:
741 if ((Data&0x3c00)==0)
742 {
743 Data=0xffffff00|((Data>>2)&0xff);
744 Inp.faddbits(14);
745 }
746 else
747 {
748 Data=(Data>>6)&0xff;
749 Inp.faddbits(10);
750 }
751 return(Data);
752 case 0x8000:
753 Inp.faddbits(2);
754 Data=Inp.fgetbits();
755 Inp.faddbits(16);
756 return(Data);
757 default:
758 Inp.faddbits(2);
759 Data=(Inp.fgetbits()<<16);
760 Inp.faddbits(16);
761 Data|=Inp.fgetbits();
762 Inp.faddbits(16);
763 return(Data);
764 }
765}
766
767
768void RarVM::SetMemory(uint Pos,byte *Data,uint DataSize)

Callers

nothing calls this directly

Calls 2

fgetbitsMethod · 0.80
faddbitsMethod · 0.80

Tested by

no test coverage detected