linux/lib/decompress_bunzip2.c
<<
/o2o > /spa > /form > a /o2o > href="../linux+v3.7.1/lib/decompress_bunzip2.c">/o2o > img src="../.static/gfx/right.png" alt=">>">/o /spa /o spa class="lxr_search">/o2o/o2o > input typ2 >hidden" nam2 >navtarget" ">/o2o > input typ2 >text" nam2 >search" id >search">/o2o > butt.12typ2 >submit">Search /form /spa /o spa class="lxr_prefs" > a href="+prefs?return=lib/decompress_bunzip2.c"/o2o > onclick="return ajax_prefs();">/o2o >Prefs > /a>/o /spa 2o > > /div 2o > > form ac5" ="ajax+*" method="post" onsubmit="return false;">/o input typ2 >hidden" nam2 >ajax_lookup" id >ajax_lookup" ">/2o > > /form /2o > > div class="headingbott.m">
> > div id >search_results" class="search_results" 2o > > /div div id >cearch_results" 2o > > /div div id 5 v3.9.2<5e/18/6d518145e3dc82a09d35c3e23798fa5dbecb_3/0re<">/o2o >o /spa 2o > > /div 2o#L1 2o >/o <">/o2o >o /spa 2o > > /div 2o#L2 2o >/o2o >o /spa 2o > > /div 2o#L3 2o > > acode by JulilicR Seward (jseward@acm.org),se;">/o <">/o2o >o /spa 2o > > /div 2o#L4 2o >aknowledges 10.4rib/d > s by Mike Burrows, David Wheunzr,se;">/o <">/o2o >o /spa 2o > > /div 2o#L5 2o >/o <">/o2o >o /spa 2o > > /div 2o#L6 2o > aL. B6" ley.se;">/o <">/o2o >o /spa 2o > > /div 2o#L7 2o >/o2o >o /spa 2o > > /div 2o#L8 2o >/o <">/o2o >o /spa 2o > > /div 2o#L9 2o >/o <">/o2o >o /spa 2o > > /div 2o#L10 2o >/o <">/o2o >o /spa 2o > > /div 2o#L11 2o >/o2o >o /spa 2o > > /div 2o#L12 2o >/o <">/o2o >o /spa 2o > > /div 2o#L13 2o > s by Manuel Novoa III (mjn3@codepoet.org).se;">/o <">/o2o >o /spa 2o > > /div 2o#L14 2o >/o2o >o /spa 2o > > /div 2o#L15 2o > /div ()se;">/o <">/o2o >o /spa 2o > > /div 2o#L16 2o >/o <">/o2o >o /spa 2o > > /div 2o#L17 2o > /ster tha< bicat" < x86 and abo> d10%> /ster < arm.se;">/o <">/o2o >o /spa 2o > > /div 2o#L18 2o >/o2o >o /spa 2o > > /div 2o#L19 2o > d2/3 of the deme naspe" in rult>/div () ruverss" se;">/o <">/o2o >o /spa 2o > > /div 2o#L20 2o > . Much of that deme nadelayse;">/o <">/o2o >o /spa 2o > > /div 2o#L21 2o >s" from cache misses.se;">/o <">/o2o >o /spa 2o > > /div 2o#L22 2o >/o2o >o /spa 2o > > /div 2o#L23 2o >s" from t" n wor , especially t"osese;">/o <">/o2o >o /spa 2o > > /div 2o#L24 2o > to my localse;">/o <">/o2o >o /spa 2o > > /div 2o#L25 2o > "osp5"e organizad > in the ingb of the woma aI loved, whose;">/o <">/o2o >o /spa 2o > > /div 2o#L26 2o >/o <">/o2o >o /spa 2o > > /div 2o#L27 2o >/o2o >o /spa 2o > > /div 2o#L28 2o >/o <">/o2o >o /spa 2o > > /div 2o#L29 2o >/o2o >o /spa 2o > > /div 2o#L30 2o >/o <">/o2o >o /spa 2o > > /div 2o#L31 2o >hns> a St., Suite 2o0se;">/o <">/o2o >o /spa 2o > > /div 2o#L32 2o >/o <">/o2o >o /spa 2o > > /div 2o#L33 2o >/o2o >o /spa 2o > > /div 2o#L34 2o >/o <">/o2o >o /spa 2o > > /div 2o#L35 2o >/o <">/o2o >o /spa 2o > > /div 2o#L36 2o >/o2o >o /spa 2o > > /div 2o#L37 2o >/o <">/o2o >o /spa 2o > > /div 2o#L38 2o >/o2o >o /spa 2o > > /div 2o#L39 2o >/o <">/o2o >o /spa 2o > > /div 2o#L40 2o >/o <">/o2o >o /spa 2o > > /div 2o#L41 2o >/o2o >o /spa 2o > > /div 2o#L42 2o >/o <">/o2o >o /spa 2o > > /div 2o#L43 2o > res runns" in L="&g Kernel by Alain Knaff (alain@knaff.lu)se;">/o <">/o2o >o /spa 2o > > /div 2o#L44 2o >/o <">/o2o >o /spa 2o > > /div 2o#L45 2o >/o2o >o /spa 2o > > /div 2o#L46 2o >/o2o >o /spa 2o > > /div 2o#L47 2o >/o2o >Pcode=STATIC div ido2o">STATICrn fa<">/o2o >o /spa 2o > > /div 2o#L48 2o >/o2o >Pcode=PREBOOT div ido2o">PREBOOTrn fa<">/o2o >o /spa 2o > > /div 2o#L49 2o >/o2o >o /spa 2o > > /div 2o#L50 2o >/o2o >includelt="&gspa 2o > / /div 2h 2k="retufo2o">t="&gspa 2o > / /div 2hrn fost" <">/o2o >o /spa 2o > > /div 2o#L51 2o >/o <">/o2o >o /spa 2o > > /div 2o#L52 2o >/o2o >o /spa 2o > > /div 2o#L53 2o >/o2o >includelt="&gspa 2o > /mm2h 2k="retufo2o">t="&gspa 2o > /mm2hrn fost" <">/o2o >o /spa 2o > > /div 2o#L54 2o >/o2o >o /spa 2o > > /div 2o#L55 2o >/o2o >Pcode=INT_MAX div ido2o">INT_MAXrn fa<">/o2o >o /spa 2o > > /div 2o#L56 2o >/o2o >Pcode=INT_MAX div ido2o">INT_MAXrn f 0x7fffffffa<">/o2o >o /spa 2o > > /div 2o#L57 2o >/o2o >o /spa 2o > > /div 2o#L58 2o >/o2o >o /spa 2o > > /div 2o#L59 2o >ants res Huffma acods" */se;">/o <">/o2o >o /spa 2o > > /div 2o#L60 2o >/o2o >Pcode=MAX_GROUPS div ido2o">MAX_GROUPSrn f 6 <">/o2o >o /spa 2o > > /div 2o#L61 2o >/o2o >Pcode=GROUP_SIZE div ido2o">GROUP_SIZErn f 50 onclick="retu m6" 6/*.64 would have been mood effici6" */se;">/o <">/o2o >o /spa 2o > > /div 2o#L62 2o >/o2o >Pcode=MAX_HUFCODE_BITS div ido2o">MAX_HUFCODE_BITSrn f 20 onclick="retu m6" 6/*.Longest Huffma acode allowed */se;">/o <">/o2o >o /spa 2o > > /div 2o#L63 2o >/o2o >Pcode=MAX_SYMBOLS div ido2o">MAX_SYMBOLSrn f 258 onclick="retu m6" 6/*.256 literals + RUNA + RUNB */se;">/o <">/o2o >o /spa 2o > > /div 2o#L64 2o >/o2o >Pcode=SYMBOL_RUNA div ido2o">SYMBOL_RUNArn f 0 <">/o2o >o /spa 2o > > /div 2o#L65 2o >/o2o >Pcode=SYMBOL_RUNB div ido2o">SYMBOL_RUNBrn f 1 <">/o2o >o /spa 2o > > /div 2o#L66 2o >/o2o >o /spa 2o > > /div 2o#L67 2o > > > dis */se;">/o <">/o2o >o /spa 2o > > /div 2o#L68 2o >/o2o >Pcode=RETVAL_OK div ido2o">RETVAL_OKrn f 0 <">/o2o >o /spa 2o > > /div 2o#L69 2o >/o2o >Pcode=RETVAL_LAST_BLOCK div ido2o">RETVAL_LAST_BLOCKrn f (-1) <">/o2o >o /spa 2o > > /div 2o#L70 2o >/o2o >Pcode=RETVAL_NOT_BZIP_DATA div ido2o">RETVAL_NOT_BZIP_DATArn f (-2) <">/o2o >o /spa 2o > > /div 2o#L71 2o >/o2o >Pcode=RETVAL_UNEXPECTED_INPUT_EOF div ido2o">RETVAL_UNEXPECTED_INPUT_EOFrn f (-3) <">/o2o >o /spa 2o > > /div 2o#L72 2o >/o2o >Pcode=RETVAL_UNEXPECTED_OUTPUT_EOF div ido2o">RETVAL_UNEXPECTED_OUTPUT_EOFrn f (-4) <">/o2o >o /spa 2o > > /div 2o#L73 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f (-5) <">/o2o >o /spa 2o > > /div 2o#L74 2o >/o2o >Pcode=RETVAL_OUT_OF_MEMORY div ido2o">RETVAL_OUT_OF_MEMORYrn f (-6) <">/o2o >o /spa 2o > > /div 2o#L75 2o >/o2o >Pcode=RETVAL_OBSOLETE_INPUT div ido2o">RETVAL_OBSOLETE_INPUTrn f (-7) <">/o2o >o /spa 2o > > /div 2o#L76 2o >/o2o >o /spa 2o > > /div 2o#L77 2o >ants */se;">/o <">/o2o >o /spa 2o > > /div 2o#L78 2o >/o2o >Pcode=BZIP2_IOBUF_SIZE div ido2o">BZIP2_IOBUF_SIZErn f 4096 <">/o2o >o /spa 2o > > /div 2o#L79 2o >/o2o >o /spa 2o > > /div 2o#L80 2o > deach Huffma acods" group */se;">/o <">/o2o >o /spa 2o > > /div 2o#L81 2o >/o2o >Pcode=group_data div ido2o">group_datarn f { <">/o2o >o /spa 2o > > /div 2o#L82 2o > > di. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L83 2o >/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=MAX_HUFCODE_BITS div ido2o">MAX_HUFCODE_BITSrn f+1]" <">/o2o >o /spa 2o > > /div 2o#L84 2o >/o2o >Pcode=base div ido2o">basern f[;">/o2o >Pcode=MAX_HUFCODE_BITS div ido2o">MAX_HUFCODE_BITSrn f]" <">/o2o >o /spa 2o > > /div 2o#L85 2o >/o2o >Pcode=permute div ido2o">permutern f[;">/o2o >Pcode=MAX_SYMBOLS div ido2o">MAX_SYMBOLSrn f]" <">/o2o >o /spa 2o > > /div 2o#L86 2o >/o2o >Pcode=minLhead div ido2o">minLhern f,);">/o2o >Pcode=maxLhead div ido2o">maxLhern f" <">/o2o >o /spa 2o > > /div 2o#L87 2o >/o2o >o /spa 2o > > /div 2o#L88 2o >/o2o >o /spa 2o > > /div 2o#L89 2o >/o <">/o2o >o /spa 2o > > /div 2o#L90 2o >/o <">/o2o >o /spa 2o > > /div 2o#L91 2o >/o2o >Pcode= /div _data div ido2o"> /div _datarn f { <">/o2o >o /spa 2o > > /div 2o#L92 2o >s" o> > dloo */se;">/o <">/o2o >o /spa 2o > > /div 2o#L93 2o >/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f,);">/o2o >Pcode=writePos div ido2o">writePosrn f,);">/o2o >Pcode=writeRunCountdowead div ido2o">writeRunCountdowern f,);">/o2o >Pcode=writeCount div ido2o">writeCountrn f,);">/o2o >Pcode=writeCurrent div ido2o">writeCurrentrn f" <">/o2o >o /spa 2o > > /div 2o#L94 2o > s, etc.) */se;">/o <">/o2o >o /spa 2o > > /div 2o#L95 2o >/o2o >Pcode=fill div ido2o">fillrn f)(void*, unsigned int)" <">/o2o >o /spa 2o > > /div 2o#L96 2o >/o2o >Pcode=inbufCount div ido2o">inbufCountrn f,);">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f onclick="retu m6" 6/*, o> bufPos*/se;">/o" <">/o2o >o /spa 2o > > /div 2o#L97 2o >/o2o >Pcode=inbuf div ido2o">inbufrn f onclick="retu m6" 6/*,*o> buf*/se;">/o" <">/o2o >o /spa 2o > > /div 2o#L98 2o >/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f,);">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f" <">/o2o >o /spa 2o > > /div 2o#L99 2o > > dis stored in dhd block sulter and calculated from t"ese;">/o <">/o2o >o /spa 2o > > /div 2o#L100 2o >/o <">/o2o >o /spa 2o > > /div 2o#L101 2o >/o2o >Pcode=crc32Table div ido2o">crc32Tablern f[256],);">/o2o >Pcode=sulterCRC div ido2o">sulterCRCrn f,);">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f,);">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f" <">/o2o >o /spa 2o > > /div 2o#L102 2o >/o <">/o2o >o /spa 2o > > /div 2o#L103 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f,);">/o2o >Pcode=dbufSize div ido2o">dbufSizern f" <">/o2o >o /spa 2o > > /div 2o#L104 2o >/o <">/o2o >o /spa 2o > > /div 2o#L105 2o >/o2o >Pcode=bunzipors div ido2o">bunziporsrn f[32768]; onclick="retu m6" 6/*.nSunzipors = 15 bits */se;">/o <">/o2o >o /spa 2o > > /div 2o#L106 2o >/o2o >Pcode=group_data div ido2o">group_datarn f ;">/o2o >Pcode=groups div ido2o">groupsrn f[;">/o2o >Pcode=MAX_GROUPS div ido2o">MAX_GROUPSrn f]; onclick="retu m6" 6/*.Huffma acods" tables */se;">/o <">/o2o >o /spa 2o > > /div 2o#L107 2o >/o2o >Pcode=io_error div ido2o">io_errorrn f" onclick="retu m6" 6/*.non-zero if we have IO error */se;">/o <">/o2o >o /spa 2o > > /div 2o#L108 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[256]" <">/o2o >o /spa 2o > > /div 2o#L109 2o >/o2o >Pcode=bymToByte div ido2o">bymToBytern f[256],);">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[256]" <">/o2o >o /spa 2o > > /div 2o#L110 2o >/o2o >o /spa 2o > > /div 2o#L111 2o >/o2o >o /spa 2o > > /div 2o#L112 2o >/o2o >o /spa 2o > > /div 2o#L113 2o > >the iext nnn bits of > > . All rults from t"e 2o > ed in > se;">/o <">/o2o >o /spa 2o > > /div 2o#L114 2o >/o <">/o2o >o /spa 2o > > /div 2o#L115 2o >/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(struct);">/o2o >Pcode= /div _data div ido2o"> /div _datarn f *;">/o2o >Pcode=bd div ido2o"> drn f,)char ;">/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f) <">/o2o >o /spa 2o > > /div 2o#L116 2o >/o2o >o /spa 2o > > /div 2o#L117 2o >/o2o >Pcode=bits div ido2o">bitsrn f = 0" <">/o2o >o /spa 2o > > /div 2o#L118 2o >/o2o >o /spa 2o > > /div 2o#L119 2o >/o <">/o2o >o /spa 2o > > /div 2o#L120 2o >s" one byte at a deme to enforce endilin > and avoidse;">/o <">/o2o >o /spa 2o > > /div 2o#L121 2o > .) */se;">/o <">/o2o >o /spa 2o > > /div 2o#L122 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f < ;">/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f) { <">/o2o >o /spa 2o > > /div 2o#L123 2o >/o <">/o2o >o /spa 2o > > /div 2o#L124 2o >/o <">/o2o >o /spa 2o > > /div 2o#L125 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f == ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufCount div ido2o">inbufCountrn f) { <">/o2o >o /spa 2o > > /div 2o#L126 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=io_error div ido2o">io_errorrn f) <">/o2o >o /spa 2o > > /div 2o#L127 2o >/o2o >o /spa 2o > > /div 2o#L128 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufCount div ido2o">inbufCountrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=fill div ido2o">fillrn f(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbuf div ido2o">inbufrn f,);">/o2o >Pcode=BZIP2_IOBUF_SIZE div ido2o">BZIP2_IOBUF_SIZErn f)" <">/o2o >o /spa 2o > > /div 2o#L129 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufCount div ido2o">inbufCountrn f <= 0) { <">/o2o >o /spa 2o > > /div 2o#L130 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=io_error div ido2o">io_errorrn f = ;">/o2o >Pcode=RETVAL_UNEXPECTED_INPUT_EOF div ido2o">RETVAL_UNEXPECTED_INPUT_EOFrn f" <">/o2o >o /spa 2o > > /div 2o#L131 2o >/o2o >o /spa 2o > > /div 2o#L132 2o >/o2o >o /spa 2o > > /div 2o#L133 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f =>0" <">/o2o >o /spa 2o > > /div 2o#L134 2o >/o2o >o /spa 2o > > /div 2o#L135 2o > > ) */se;">/o <">/o2o >o /spa 2o > > /div 2o#L136 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f >= 24) { <">/o2o >o /spa 2o > > /div 2o#L137 2o >/o2o >Pcode=bits div ido2o">bitsrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f&((1 << ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f)-1)" <">/o2o >o /spa 2o > > /div 2o#L138 2o >/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f -= ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f" <">/o2o >o /spa 2o > > /div 2o#L139 2o >/o2o >Pcode=bits div ido2o">bitsrn f <<= ;">/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f" <">/o2o >o /spa 2o > > /div 2o#L140 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f =>0" <">/o2o >o /spa 2o > > /div 2o#L141 2o >/o2o >o /spa 2o > > /div 2o#L142 2o > > from buffer. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L143 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f =>(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f << 8)|;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbuf div ido2o">inbufrn f[;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f++]" <">/o2o >o /spa 2o > > /div 2o#L144 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f += 8" <">/o2o >o /spa 2o > > /div 2o#L145 2o >/o2o >o /spa 2o > > /div 2o#L146 2o > */se;">/o <">/o2o >o /spa 2o > > /div 2o#L147 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f -= ;">/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f" <">/o2o >o /spa 2o > > /div 2o#L148 2o >/o2o >Pcode=bits div ido2o">bitsrn f |=>(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f &="post" ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f)&((1 << ;">/o2o >Pcode=bits_wanted div ido2o"> its_wantedrn f)-1)" <">/o2o >o /spa 2o > > /div 2o#L149 2o >/o2o >o /spa 2o > > /div 2o#L150 2o >/o2o >Pcode=bits div ido2o">bitsrn f" <">/o2o >o /spa 2o > > /div 2o#L151 2o >/o2o >o /spa 2o > > /div 2o#L152 2o >/o2o >o /spa 2o > > /div 2o#L153 2o >the iext block and sets up res the inverse burrows-wheunzr step. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L154 2o >/o2o >o /spa 2o > > /div 2o#L155 2o >/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=get_iext_block div ido2o">get_iext_blockrn f(struct);">/o2o >Pcode= /div _data div ido2o"> /div _datarn f *;">/o2o >Pcode=bd div ido2o"> drn f) <">/o2o >o /spa 2o > > /div 2o#L156 2o >/o2o >o /spa 2o > > /div 2o#L157 2o >/o2o >Pcode=group_data div ido2o">group_datarn f *;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f = ;">/o2o >Pcode=NULL div ido2o">NULLrn f" <">/o2o >o /spa 2o > > /div 2o#L158 2o >/o2o >Pcode=base div ido2o">basern f = ;">/o2o >Pcode=NULL div ido2o">NULLrn f" <">/o2o >o /spa 2o > > /div 2o#L159 2o >/o2o >Pcode=lemit div ido2o">lemitrn f = ;">/o2o >Pcode=NULL div ido2o">NULLrn f" <">/o2o >o /spa 2o > > /div 2o#L160 2o >/o2o >Pcode=dbufCount div ido2o">dbufCountrn f,);">/o2o >Pcode=iextSym div ido2o">iextSymrn f,);">/o2o >Pcode=dbufSize div ido2o">dbufSizern f,);">/o2o >Pcode=groupCount div ido2o">groupCountrn f,);">/o2o >Pcode=bunzipor div ido2o">bunziporrn f, <">/o2o >o /spa 2o > > /div 2o#L161 2o >/o2o >Pcode=i div ido2o">irn f,);">/o2o >Pcode=j div ido2o">jrn f,);">/o2o >Pcode=k div ido2o">krn f,);">/o2o >Pcode=t div ido2o">trn f,);">/o2o >Pcode=runPos div ido2o">runPosrn f,);">/o2o >Pcode=bymCount div ido2o">bymCountrn f,);">/o2o >Pcode=bymTotal div ido2o">bymTotalrn f,);">/o2o >Pcode=iSunzipors div ido2o">iSunziporsrn f,)*;">/o2o >Pcode=byteCount div ido2o">byteCountrn f" <">/o2o >o /spa 2o > > /div 2o#L162 2o >/o2o >Pcode=uc div ido2o">ucrn f,)*;">/o2o >Pcode=bymToByte div ido2o">bymToBytern f,)*;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f,)*;">/o2o >Pcode=bunzipors div ido2o">bunziporsrn f" <">/o2o >o /spa 2o > > /div 2o#L163 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f,);">/o2o >Pcode=origPtr div ido2o">origPtrrn f" <">/o2o >o /spa 2o > > /div 2o#L164 2o >/o2o >o /spa 2o > > /div 2o#L165 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f" <">/o2o >o /spa 2o > > /div 2o#L166 2o >/o2o >Pcode=dbufSize div ido2o">dbufSizern f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbufSize div ido2o">dbufSizern f" <">/o2o >o /spa 2o > > /div 2o#L167 2o >/o2o >Pcode=bunzipors div ido2o">bunziporsrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=bunzipors div ido2o">bunziporsrn f" <">/o2o >o /spa 2o > > /div 2o#L168 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=byteCount div ido2o">byteCountrn f" <">/o2o >o /spa 2o > > /div 2o#L169 2o >/o2o >Pcode=bymToByte div ido2o">bymToBytern f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=bymToByte div ido2o">bymToBytern f" <">/o2o >o /spa 2o > > /div 2o#L170 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f" <">/o2o >o /spa 2o > > /div 2o#L171 2o >/o2o >o /spa 2o > > /div 2o#L172 2o > > idate signature.se;">/o <">/o2o >o /spa 2o > > /div 2o#L173 2o >/o <">/o2o >o /spa 2o > > /div 2o#L174 2o >/o2o >Pcode=i div ido2o">irn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 24)" <">/o2o >o /spa 2o > > /div 2o#L175 2o >/o2o >Pcode=j div ido2o">jrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 24)" <">/o2o >o /spa 2o > > /div 2o#L176 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=sulterCRC div ido2o">sulterCRCrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 32)" <">/o2o >o /spa 2o > > /div 2o#L177 2o >/o2o >Pcode=i div ido2o">irn f == 0x177245) &&>(;">/o2o >Pcode=j div ido2o">jrn f == 0x385090)) <">/o2o >o /spa 2o > > /div 2o#L178 2o >/o2o >Pcode=RETVAL_LAST_BLOCK div ido2o">RETVAL_LAST_BLOCKrn f" <">/o2o >o /spa 2o > > /div 2o#L179 2o >/o2o >Pcode=i div ido2o">irn f != 0x314159) ||>(;">/o2o >Pcode=j div ido2o">jrn f != 0x265359)) <">/o2o >o /spa 2o > > /div 2o#L180 2o >/o2o >Pcode=RETVAL_NOT_BZIP_DATA div ido2o">RETVAL_NOT_BZIP_DATArn f" <">/o2o >o /spa 2o > > /div 2o#L181 2o > res blockRandomi ed if anybody 2lains.se;">/o <">/o2o >o /spa 2o > > /div 2o#L182 2o >nobody uverse;">/o <">/o2o >o /spa 2o > > /div 2o#L183 2o >ajually wor . */se;">/o <">/o2o >o /spa 2o > > /div 2o#L184 2o >/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 1)) <">/o2o >o /spa 2o > > /div 2o#L185 2o >/o2o >Pcode=RETVAL_OBSOLETE_INPUT div ido2o">RETVAL_OBSOLETE_INPUTrn f" <">/o2o >o /spa 2o > > /div 2o#L186 2o >/o2o >Pcode=origPtr div ido2o">origPtrrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 24)" <">/o2o >o /spa 2o > > /div 2o#L187 2o >/o2o >Pcode=origPtr div ido2o">origPtrrn f ost" ;">/o2o >Pcode=dbufSize div ido2o">dbufSizern f) <">/o2o >o /spa 2o > > /div 2o#L188 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L189 2o > dis are nuver u ed (encods" ths" sse;">/o <">/o2o >o /spa 2o > > /div 2o#L190 2o > > code removes>the gaps to have fewerse;">/o <">/o2o >o /spa 2o > > /div 2o#L191 2o >s" whichse;">/o <">/o2o >o /spa 2o > > /div 2o#L192 2o > dis were 2o >6" . .We make a translad > table to convert t"ese;">/o <">/o2o >o /spa 2o > > /div 2o#L193 2o >ponds" bytes. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L194 2o >/o2o >Pcode=t div ido2o">trn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 16)" <">/o2o >o /spa 2o > > /div 2o#L195 2o >/o2o >Pcode=bymTotal div ido2o">bymTotalrn f =>0" <">/o2o >o /spa 2o > > /div 2o#L196 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < 16" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L197 2o >/o2o >Pcode=t div ido2o">trn f&(1 << (15-;">/o2o >Pcode=i div ido2o">irn f))) { <">/o2o >o /spa 2o > > /div 2o#L198 2o >/o2o >Pcode=k div ido2o">krn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 16)" <">/o2o >o /spa 2o > > /div 2o#L199 2o >/o2o >Pcode=j div ido2o">jrn f = 0" ;">/o2o >Pcode=j div ido2o">jrn f < 16" ;">/o2o >Pcode=j div ido2o">jrn f++) <">/o2o >o /spa 2o > > /div 2o#L200 2o >/o2o >Pcode=k div ido2o">krn f&(1 << (15-;">/o2o >Pcode=j div ido2o">jrn f))) <">/o2o >o /spa 2o > > /div 2o#L201 2o >/o2o >Pcode=bymToByte div ido2o">bymToBytern f[;">/o2o >Pcode=bymTotal div ido2o">bymTotalrn f++] =>(16*;">/o2o >Pcode=i div ido2o">irn f)+;">/o2o >Pcode=j div ido2o">jrn f" <">/o2o >o /spa 2o > > /div 2o#L202 2o >/o2o >o /spa 2o > > /div 2o#L203 2o >/o2o >o /spa 2o > > /div 2o#L204 2o >this block u e? */se;">/o <">/o2o >o /spa 2o > > /div 2o#L205 2o >/o2o >Pcode=groupCount div ido2o">groupCountrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 3)" <">/o2o >o /spa 2o > > /div 2o#L206 2o >/o2o >Pcode=groupCount div ido2o">groupCountrn f < 2 ||>;">/o2o >Pcode=groupCount div ido2o">groupCountrn f &st" ;">/o2o >Pcode=MAX_GROUPS div ido2o">MAX_GROUPSrn f) <">/o2o >o /spa 2o > > /div 2o#L207 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L208 2o >/o <">/o2o >o /spa 2o > > /div 2o#L209 2o >/o <">/o2o >o /spa 2o > > /div 2o#L210 2o >is stored as MTF encoded bit runs. (MTF = Move Tose;">/o <">/o2o >o /spa 2o > > /div 2o#L211 2o > di>is u ed it's moved to t"e start of t"ese;">/o <">/o2o >o /spa 2o > > /div 2o#L212 2o >/o <">/o2o >o /spa 2o > > /div 2o#L213 2o >/o2o >Pcode=iSunzipors div ido2o">iSunziporsrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 15)" <">/o2o >o /spa 2o > > /div 2o#L214 2o >/o2o >Pcode=iSunzipors div ido2o">iSunziporsrn f) <">/o2o >o /spa 2o > > /div 2o#L215 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L216 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=groupCount div ido2o">groupCountrn f" ;">/o2o >Pcode=i div ido2o">irn f++) <">/o2o >o /spa 2o > > /div 2o#L217 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=i div ido2o">irn f" <">/o2o >o /spa 2o > > /div 2o#L218 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=iSunzipors div ido2o">iSunziporsrn f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L219 2o > di>*/se;">/o <">/o2o >o /spa 2o > > /div 2o#L220 2o >/o2o >Pcode=j div ido2o">jrn f = 0" ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 1)" ;">/o2o >Pcode=j div ido2o">jrn f++) <">/o2o >o /spa 2o > > /div 2o#L221 2o >/o2o >Pcode=j div ido2o">jrn f >= ;">/o2o >Pcode=groupCount div ido2o">groupCountrn f) <">/o2o >o /spa 2o > > /div 2o#L222 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L223 2o >/o <">/o2o >o /spa 2o > > /div 2o#L224 2o >/o2o >Pcode=uc div ido2o">ucrn f = ;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=j div ido2o">jrn f]" <">/o2o >o /spa 2o > > /div 2o#L225 2o >/o2o >Pcode=j div ido2o">jrn f" ;">/o2o >Pcode=j div ido2o">jrn f--) <">/o2o >o /spa 2o > > /div 2o#L226 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=j div ido2o">jrn f] = ;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=j div ido2o">jrn f-1]" <">/o2o >o /spa 2o > > /div 2o#L227 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[0] = ;">/o2o >Pcode=bunzipors div ido2o">bunziporsrn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=uc div ido2o">ucrn f" <">/o2o >o /spa 2o > > /div 2o#L228 2o >/o2o >o /spa 2o > > /div 2o#L229 2o >codese;">/o <">/o2o >o /spa 2o > > /div 2o#L230 2o >/o <">/o2o >o /spa 2o > > /div 2o#L231 2o >/o <">/o2o >o /spa 2o > > /div 2o#L232 2o >/o2o >Pcode=bymCount div ido2o">bymCountrn f = ;">/o2o >Pcode=bymTotal div ido2o">bymTotalrn f+2" <">/o2o >o /spa 2o > > /div 2o#L233 2o >/o2o >Pcode=j div ido2o">jrn f = 0" ;">/o2o >Pcode=j div ido2o">jrn f < ;">/o2o >Pcode=groupCount div ido2o">groupCountrn f" ;">/o2o >Pcode=j div ido2o">jrn f++) { <">/o2o >o /spa 2o > > /div 2o#L234 2o >/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=MAX_SYMBOLS div ido2o">MAX_SYMBOLSrn f],);">/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=MAX_HUFCODE_BITS div ido2o">MAX_HUFCODE_BITSrn f+1]" <">/o2o >o /spa 2o > > /div 2o#L235 2o >/o2o >Pcode=minLhead div ido2o">minLhern f,);">/o2o >Pcode=maxLhead div ido2o">maxLhern f,);">/o2o >Pcode=pp div ido2o">pprn f" <">/o2o >o /spa 2o > > /div 2o#L236 2o >/o <">/o2o >o /spa 2o > > /div 2o#L237 2o >/o <">/o2o >o /spa 2o > > /div 2o#L238 2o > di>res the first symbol, and licoffset from t"ese;">/o <">/o2o >o /spa 2o > > /div 2o#L239 2o > di>res uverys symbol after that.se;">/o <">/o2o >o /spa 2o > > /div 2o#L240 2o >s" 1 befood the loo and the >adds" i se;">/o <">/o2o >o /spa 2o > > /div 2o#L241 2o > that makes t"ese;">/o <">/o2o >o /spa 2o > > /div 2o#L242 2o >/o <">/o2o >o /spa 2o > > /div 2o#L243 2o >/o <">/o2o >o /spa 2o > > /div 2o#L244 2o >/o <">/o2o >o /spa 2o > > /div 2o#L245 2o >/o2o >Pcode=t div ido2o">trn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 5)-1" <">/o2o >o /spa 2o > > /div 2o#L246 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=bymCount div ido2o">bymCountrn f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L247 2o >/o2o >o /spa 2o > > /div 2o#L248 2o >/o2o >Pcode=t div ido2o">trn f) &st" (;">/o2o >Pcode=MAX_HUFCODE_BITS div ido2o">MAX_HUFCODE_BITSrn f-1)) <">/o2o >o /spa 2o > > /div 2o#L249 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L250 2o >/o2o >o /spa 2o > > /div 2o#L251 2o >/o <">/o2o >o /spa 2o > > /div 2o#L252 2o >is whether tose;">/o <">/o2o >o /spa 2o > > /div 2o#L253 2o > di.se;">/o <">/o2o >o /spa 2o > > /div 2o#L254 2o > : grab 2 bits and ungetse;">/o <">/o2o >o /spa 2o > > /div 2o#L255 2o >/o <">/o2o >o /spa 2o > > /div 2o#L256 2o >/o2o >o /spa 2o > > /div 2o#L257 2o >/o2o >Pcode=k div ido2o">krn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 2)" <">/o2o >o /spa 2o > > /div 2o#L258 2o >/o2o >Pcode=k div ido2o">krn f < 2) { <">/o2o >o /spa 2o > > /div 2o#L259 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f++" <">/o2o >o /spa 2o > > /div 2o#L260 2o >/o2o >o /spa 2o > > /div 2o#L261 2o >/o2o >o /spa 2o > > /div 2o#L262 2o >/o <">/o2o >o /spa 2o > > /div 2o#L263 2o > 1. .Avoids if/else */se;">/o <">/o2o >o /spa 2o > > /div 2o#L264 2o >/o2o >Pcode=t div ido2o">trn f += (((;">/o2o >Pcode=k div ido2o">krn f+1)&2)-1)" <">/o2o >o /spa 2o > > /div 2o#L265 2o >/o2o >o /spa 2o > > /div 2o#L266 2o >/o <">/o2o >o /spa 2o > > /div 2o#L267 2o >/o <">/o2o >o /spa 2o > > /div 2o#L268 2o >/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=t div ido2o">trn f+1" <">/o2o >o /spa 2o > > /div 2o#L269 2o >/o2o >o /spa 2o > > /div 2o#L270 2o >/o <">/o2o >o /spa 2o > > /div 2o#L271 2o >/o2o >Pcode=minLhead div ido2o">minLhern f = ;">/o2o >Pcode=maxLhead div ido2o">maxLhern f = ;">/o2o >Pcode=length div ido2o">lengthrn f[0]" <">/o2o >o /spa 2o > > /div 2o#L272 2o >/o2o >o /spa 2o > > /div 2o#L273 2o >/o2o >Pcode=i div ido2o">irn f =>1" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=bymCount div ido2o">bymCountrn f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L274 2o >/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f] &st" ;">/o2o >Pcode=maxLhead div ido2o">maxLhern f) <">/o2o >o /spa 2o > > /div 2o#L275 2o >/o2o >Pcode=maxLhead div ido2o">maxLhern f = ;">/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f]" <">/o2o >o /spa 2o > > /div 2o#L276 2o >/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f] < ;">/o2o >Pcode=minLhead div ido2o">minLhern f) <">/o2o >o /spa 2o > > /div 2o#L277 2o >/o2o >Pcode=minLhead div ido2o">minLhern f = ;">/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f]" <">/o2o >o /spa 2o > > /div 2o#L278 2o >/o2o >o /spa 2o > > /div 2o#L279 2o >/o2o >o /spa 2o > > /div 2o#L280 2o >/o <">/o2o >o /spa 2o > > /div 2o#L281 2o >/o <">/o2o >o /spa 2o > > /div 2o#L282 2o >/o <">/o2o >o /spa 2o > > /div 2o#L283 2o >/o <">/o2o >o /spa 2o > > /div 2o#L284 2o >/o <">/o2o >o /spa 2o > > /div 2o#L285 2o > from t"e > di>of ase;">/o <">/o2o >o /spa 2o > > /div 2o#L286 2o >uss" se;">/o <">/o2o >o /spa 2o > > /div 2o#L287 2o >/o <">/o2o >o /spa 2o > > /div 2o#L288 2o >/o <">/o2o >o /spa 2o > > /div 2o#L289 2o >is the largest numerical > di>ase;">/o <">/o2o >o /spa 2o > > /div 2o#L290 2o >/o <">/o2o >o /spa 2o > > /div 2o#L291 2o >/o <">/o2o >o /spa 2o > > /div 2o#L292 2o > di>&st" lemit[length] needs anotherse;">/o <">/o2o >o /spa 2o > > /div 2o#L293 2o >/o <">/o2o >o /spa 2o > > /div 2o#L294 2o >/o <">/o2o >o /spa 2o > > /div 2o#L295 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=groups div ido2o">groupsrn f+;">/o2o >Pcode=j div ido2o">jrn f" <">/o2o >o /spa 2o > > /div 2o#L296 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=minLhead div ido2o">minLhern f = ;">/o2o >Pcode=minLhead div ido2o">minLhern f" <">/o2o >o /spa 2o > > /div 2o#L297 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f = ;">/o2o >Pcode=maxLhead div ido2o">maxLhern f" <">/o2o >o /spa 2o > > /div 2o#L298 2o >/o <">/o2o >o /spa 2o > > /div 2o#L299 2o >/o <">/o2o >o /spa 2o > > /div 2o#L300 2o >/o <">/o2o >o /spa 2o > > /div 2o#L301 2o >uss" them (durs" symbol decods" ).*/se;">/o <">/o2o >o /spa 2o > > /div 2o#L302 2o >/o2o >Pcode=base div ido2o">basern f = ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=base div ido2o">basern f-1" <">/o2o >o /spa 2o > > /div 2o#L303 2o >/o2o >Pcode=lemit div ido2o">lemitrn f = ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=lemit div ido2o">lemitrn f-1" <">/o2o >o /spa 2o > > /div 2o#L304 2o >/o <">/o2o >o /spa 2o > > /div 2o#L305 2o >/o <">/o2o >o /spa 2o > > /div 2o#L306 2o >/o2o >Pcode=pp div ido2o">pprn f =>0" <">/o2o >o /spa 2o > > /div 2o#L307 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=minLhead div ido2o">minLhern f" ;">/o2o >Pcode=i div ido2o">irn f <= ;">/o2o >Pcode=maxLhead div ido2o">maxLhern f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L308 2o >/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=i div ido2o">irn f] = 0" <">/o2o >o /spa 2o > > /div 2o#L309 2o >/o2o >Pcode=t div ido2o">trn f = 0" ;">/o2o >Pcode=t div ido2o">trn f < ;">/o2o >Pcode=bymCount div ido2o">bymCountrn f" ;">/o2o >Pcode=t div ido2o">trn f++) <">/o2o >o /spa 2o > > /div 2o#L310 2o >/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=t div ido2o">trn f] == ;">/o2o >Pcode=i div ido2o">irn f) <">/o2o >o /spa 2o > > /div 2o#L311 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=permute div ido2o">permutern f[;">/o2o >Pcode=pp div ido2o">pprn f++] =>;">/o2o >Pcode=t div ido2o">trn f" <">/o2o >o /spa 2o > > /div 2o#L312 2o >/o2o >o /spa 2o > > /div 2o#L313 2o >/o <">/o2o >o /spa 2o > > /div 2o#L314 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=bymCount div ido2o">bymCountrn f" ;">/o2o >Pcode=i div ido2o">irn f++) <">/o2o >o /spa 2o > > /div 2o#L315 2o >/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=length div ido2o">lengthrn f[;">/o2o >Pcode=i div ido2o">irn f]]++" <">/o2o >o /spa 2o > > /div 2o#L316 2o > dise;">/o <">/o2o >o /spa 2o > > /div 2o#L317 2o >is (2o vious lemit <<se;">/o <">/o2o >o /spa 2o > > /div 2o#L318 2o >/o <">/o2o >o /spa 2o > > /div 2o#L319 2o >is lemitrn;">/o <">/o2o >o /spa 2o > > /div 2o#L320 2o >/o <">/o2o >o /spa 2o > > /div 2o#L321 2o >/o <">/o2o >o /spa 2o > > /div 2o#L322 2o >/o2o >Pcode=pp div ido2o">pprn f =>;">/o2o >Pcode=t div ido2o">trn f = 0" <">/o2o >o /spa 2o > > /div 2o#L323 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=minLhead div ido2o">minLhern f" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=maxLhead div ido2o">maxLhern f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L324 2o >/o2o >Pcode=pp div ido2o">pprn f +=>;">/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=i div ido2o">irn f]" <">/o2o >o /spa 2o > > /div 2o#L325 2o >/o <">/o2o >o /spa 2o > > /div 2o#L326 2o >unget bits after determins" howse;">/o <">/o2o >o /spa 2o > > /div 2o#L327 2o >/o <">/o2o >o /spa 2o > > /div 2o#L328 2o >/o <">/o2o >o /spa 2o > > /div 2o#L329 2o >/o <">/o2o >o /spa 2o > > /div 2o#L330 2o >/o <">/o2o >o /spa 2o > > /div 2o#L331 2o >/o <">/o2o >o /spa 2o > > /div 2o#L332 2o >/o <">/o2o >o /spa 2o > > /div 2o#L333 2o > di>&st" lemit[length]se;">/o <">/o2o >o /spa 2o > > /div 2o#L334 2o >/o <">/o2o >o /spa 2o > > /div 2o#L335 2o >/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=i div ido2o">irn f] = (;">/o2o >Pcode=pp div ido2o">pprn f << (;">/o2o >Pcode=maxLhead div ido2o">maxLhern f - ;">/o2o >Pcode=i div ido2o">irn f)) - 1" <">/o2o >o /spa 2o > > /div 2o#L336 2o >/o2o >Pcode=pp div ido2o">pprn f <<= 1" <">/o2o >o /spa 2o > > /div 2o#L337 2o >/o2o >Pcode=base div ido2o">basern f[;">/o2o >Pcode=i div ido2o">irn f+1] =>;">/o2o >Pcode=pp div ido2o">pprn f-(;">/o2o >Pcode=t div ido2o">trn f +=>;">/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=i div ido2o">irn f])" <">/o2o >o /spa 2o > > /div 2o#L338 2o >/o2o >o /spa 2o > > /div 2o#L339 2o >/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=maxLhead div ido2o">maxLhern f+1] =>;">/o2o >Pcode=INT_MAXad div ido2o">INT_MAXrn f" ;nclick="retu m6" 6/*.S6" inal > di>resse;">/o <">/o2o >o /spa 2o > > /div 2o#L340 2o >/o <">/o2o >o /spa 2o > > /div 2o#L341 2o >/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=maxLhead div ido2o">maxLhern f] =>;">/o2o >Pcode=pp div ido2o">pprn f+;">/o2o >Pcode=temp div ido2o">temprn f[;">/o2o >Pcode=maxLhead div ido2o">maxLhern f]-1" <">/o2o >o /spa 2o > > /div 2o#L342 2o >/o2o >Pcode=base div ido2o">basern f[;">/o2o >Pcode=minLhead div ido2o">minLhern f] = 0" <">/o2o >o /spa 2o > > /div 2o#L343 2o >/o2o >o /spa 2o > > /div 2o#L344 2o >/o <">/o2o >o /spa 2o > > /div 2o#L345 2o >/o <">/o2o >o /spa 2o > > /div 2o#L346 2o >/o <">/o2o >o /spa 2o > > /div 2o#L347 2o >ult into dbuf[dbufCount++] =>uc */se;">/o <">/o2o >o /spa 2o > > /div 2o#L348 2o >/o2o >o /spa 2o > > /div 2o#L349 2o >/o <">/o2o >o /spa 2o > > /div 2o#L350 2o >/o <">/o2o >o /spa 2o > > /div 2o#L351 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < 256" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L352 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=i div ido2o">irn f] = 0" <">/o2o >o /spa 2o > > /div 2o#L353 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=i div ido2o">irn f] = (unsigned char)o">/o2o >Pcode=i div ido2o">irn f" <">/o2o >o /spa 2o > > /div 2o#L354 2o >/o2o >o /spa 2o > > /div 2o#L355 2o > ed symbols. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L356 2o >/o2o >Pcode=runPos div ido2o">runPosrn f =>;">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f =>;">/o2o >Pcode=bymCount div ido2o">bymCountrn f = ;">/o2o >Pcode=bunzipor div ido2o">bunziporrn f = 0" <">/o2o >o /spa 2o > > /div 2o#L357 2o >/o2o >o /spa 2o > > /div 2o#L358 2o >Huffma acods" group to use. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L359 2o >/o2o >Pcode=bymCount div ido2o">bymCountrn f--)) { <">/o2o >o /spa 2o > > /div 2o#L360 2o >/o2o >Pcode=bymCount div ido2o">bymCountrn f = ;">/o2o >Pcode=GROUP_SIZE div ido2o">GROUP_SIZErn f-1" <">/o2o >o /spa 2o > > /div 2o#L361 2o >/o2o >Pcode=bunzipor div ido2o">bunziporrn f >= ;">/o2o >Pcode=iSunzipors div ido2o">iSunziporsrn f) <">/o2o >o /spa 2o > > /div 2o#L362 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L363 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=groups div ido2o">groupsrn f+;">/o2o >Pcode=bunzipors div ido2o">bunziporsrn f[;">/o2o >Pcode=bunzipor div ido2o">bunziporrn f++]" <">/o2o >o /spa 2o > > /div 2o#L364 2o >/o2o >Pcode=base div ido2o">basern f = ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=base div ido2o">basern f-1" <">/o2o >o /spa 2o > > /div 2o#L365 2o >/o2o >Pcode=lemit div ido2o">lemitrn f = ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=lemit div ido2o">lemitrn f-1" <">/o2o >o /spa 2o > > /div 2o#L366 2o >/o2o >o /spa 2o > > /div 2o#L367 2o >/o <">/o2o >o /spa 2o > > /div 2o#L368 2o >/o <">/o2o >o /spa 2o > > /div 2o#L369 2o >anse;">/o <">/o2o >o /spa 2o > > /div 2o#L370 2o > al bit ap a time, tests" as we go.se;">/o <">/o2o >o /spa 2o > > /div 2o#L371 2o >is a trails" ="rt block (with filese;">/o <">/o2o >o /spa 2o > > /div 2o#L372 2o >is no danger of the overrelt causs" anse;">/o <">/o2o >o /spa 2o > > /div 2o#L373 2o > id 2o > ed file. .As>ase;">/o <">/o2o >o /spa 2o > > /div 2o#L374 2o > , we do the rult inrinese;">/o <">/o2o >o /spa 2o > > /div 2o#L375 2o >/o <">/o2o >o /spa 2o > > /div 2o#L376 2o >/o <">/o2o >o /spa 2o > > /div 2o#L377 2o > ent to j = get_bits(bd, hufGroup-ost"maxLhe);se;">/o <">/o2o >o /spa 2o > > /div 2o#L378 2o >/o <">/o2o >o /spa 2o > > /div 2o#L379 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f < ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f) { <">/o2o >o /spa 2o > > /div 2o#L380 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f == ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufCount div ido2o">inbufCountrn f) { <">/o2o >o /spa 2o > > /div 2o#L381 2o >/o2o >Pcode=j div ido2o">jrn f = ;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f)" <">/o2o >o /spa 2o > > /div 2o#L382 2o >/o2o >Pcode=got_huff_bits div ido2o">got_huff_bitsrn f" <">/o2o >o /spa 2o > > /div 2o#L383 2o >/o2o >o /spa 2o > > /div 2o#L384 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f = <">/o2o >o /spa 2o > > /div 2o#L385 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f << 8)|;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbuf div ido2o">inbufrn f[;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f++]" <">/o2o >o /spa 2o > > /div 2o#L386 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f += 8" <">/o2o >o /spa 2o > > /div 2o#L387 2o >/o2o >o /spa 2o > > /div 2o#L388 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f -= ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f" <">/o2o >o /spa 2o > > /div 2o#L389 2o >/o2o >Pcode=j div ido2o">jrn f = (;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBits div ido2o">inbufBitsrn f &st"&st" ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f)& <">/o2o >o /spa 2o > > /div 2o#L390 2o >/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f)-1)" <">/o2o >o /spa 2o > > /div 2o#L391 2o >/o2o >Pcode=got_huff_bits div ido2o">got_huff_bitsrn f: <">/o2o >o /spa 2o > > /div 2o#L392 2o >in iext bymbol andse;">/o <">/o2o >o /spa 2o > > /div 2o#L393 2o >/o <">/o2o >o /spa 2o > > /div 2o#L394 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=minLhead div ido2o">minLhern f" <">/o2o >o /spa 2o > > /div 2o#L395 2o >/o2o >Pcode=j div ido2o">jrn f &st" ;">/o2o >Pcode=lemit div ido2o">lemitrn f[;">/o2o >Pcode=i div ido2o">irn f]) <">/o2o >o /spa 2o > > /div 2o#L396 2o >/o2o >Pcode=i div ido2o">irn f" <">/o2o >o /spa 2o > > /div 2o#L397 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufBitCount div ido2o">inbufBitCountrn f += (;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f - ;">/o2o >Pcode=i div ido2o">irn f)" <">/o2o >o /spa 2o > > /div 2o#L398 2o > di>to get iextSym (with bounds checks" ) */se;">/o <">/o2o >o /spa 2o > > /div 2o#L399 2o >/o2o >Pcode=i div ido2o">irn f &st" ;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f) <">/o2o >o /spa 2o > > /div 2o#L400 2o >/o2o >Pcode=j div ido2o">jrn f = (;">/o2o >Pcode=j div ido2o">jrn f&st"&st"(;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=maxLhead div ido2o">maxLhern f-;">/o2o >Pcode=i div ido2o">irn f))-;">/o2o >Pcode=base div ido2o">basern f[;">/o2o >Pcode=i div ido2o">irn f])) <">/o2o >o /spa 2o > > /div 2o#L401 2o >/o2o >Pcode=MAX_SYMBOLS div ido2o">MAX_SYMBOLSrn f)) <">/o2o >o /spa 2o > > /div 2o#L402 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L403 2o >/o2o >Pcode=iextSym div ido2o">iextSymrn f =>;">/o2o >Pcode=hufGroup div ido2o">hufGrouprn f-ost";">/o2o >Pcode=permute div ido2o">permutern f[;">/o2o >Pcode=j div ido2o">jrn f]" <">/o2o >o /spa 2o > > /div 2o#L404 2o >indica>isse;">/o <">/o2o >o /spa 2o > > /div 2o#L405 2o >/o <">/o2o >o /spa 2o > > /div 2o#L406 2o >/o <">/o2o >o /spa 2o > > /div 2o#L407 2o >is a repeaped run, and if so loop colnzips" se;">/o <">/o2o >o /spa 2o > > /div 2o#L408 2o >/o <">/o2o >o /spa 2o > > /div 2o#L409 2o >/o2o >Pcode=iextSym div ido2o">iextSymrn f) <= ;">/o2o >Pcode=SYMBOL_RUNB div ido2o">SYMBOL_RUNBrn f) { onclick="retu m6" 6/*.RUNA es RUNB */se;">/o <">/o2o >o /spa 2o > > /div 2o#L410 2o >/o <">/o2o >o /spa 2o > > /div 2o#L411 2o >/o <">/o2o >o /spa 2o > > /div 2o#L412 2o >/o2o >Pcode=runPos div ido2o">runPosrn f) { <">/o2o >o /spa 2o > > /div 2o#L413 2o >/o2o >Pcode=runPos div ido2o">runPosrn f = 1" <">/o2o >o /spa 2o > > /div 2o#L414 2o >/o2o >Pcode=t div ido2o">trn f = 0" <">/o2o >o /spa 2o > > /div 2o#L415 2o >/o2o >o /spa 2o > > /div 2o#L416 2o >/o <">/o2o >o /spa 2o > > /div 2o#L417 2o > , add 1se;">/o <">/o2o >o /spa 2o > > /div 2o#L418 2o >/o <">/o2o >o /spa 2o > > /div 2o#L419 2o >/o <">/o2o >o /spa 2o > > /div 2o#L420 2o >/o <">/o2o >o /spa 2o > > /div 2o#L421 2o >uss" 1 l > bymbol than the basicse;">/o <">/o2o >o /spa 2o > > /div 2o#L422 2o >/o <">/o2o >o /spa 2o > > /div 2o#L423 2o >/o <">/o2o >o /spa 2o > > /div 2o#L424 2o >/o <">/o2o >o /spa 2o > > /div 2o#L425 2o >is saved. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L426 2o >/o2o >Pcode=t div ido2o">trn f += (o">/o2o >Pcode=runPos div ido2o">runPosrn f << ;">/o2o >Pcode=iextSym div ido2o">iextSymrn f)" <">/o2o >o /spa 2o > > /div 2o#L427 2o >/o <">/o2o >o /spa 2o > > /div 2o#L428 2o >/o2o >o /spa 2o > > /div 2o#L429 2o >/o2o >Pcode=runPos div ido2o">runPosrn f <<= 1" <">/o2o >o /spa 2o > > /div 2o#L430 2o >/o2o >o /spa 2o > > /div 2o#L431 2o >/o2o >o /spa 2o > > /div 2o#L432 2o >we hit the first non-run bymbol after a run,se;">/o <">/o2o >o /spa 2o > > /div 2o#L433 2o >/o <">/o2o >o /spa 2o > > /div 2o#L434 2o >/o <">/o2o >o /spa 2o > > /div 2o#L435 2o >/o <">/o2o >o /spa 2o > > /div 2o#L436 2o >/o <">/o2o >o /spa 2o > > /div 2o#L437 2o >/o <">/o2o >o /spa 2o > > /div 2o#L438 2o >/o2o >Pcode=runPos div ido2o">runPosrn f) { <">/o2o >o /spa 2o > > /div 2o#L439 2o >/o2o >Pcode=runPos div ido2o">runPosrn f = 0" <">/o2o >o /spa 2o > > /div 2o#L440 2o >/o2o >Pcode=dbufCount div ido2o">dbufCountrn f+;">/o2o >Pcode=t div ido2o">trn f >= ;">/o2o >Pcode=dbufSize div ido2o">dbufSizern f) <">/o2o >o /spa 2o > > /div 2o#L441 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L442 2o >/o2o >o /spa 2o > > /div 2o#L443 2o >/o2o >Pcode=uc div ido2o">ucrn f =>;">/o2o >Pcode=symToByte div ido2o">symToBytern f[;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[0]]" <">/o2o >o /spa 2o > > /div 2o#L444 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=uc div ido2o">ucrn f] +=>;">/o2o >Pcode=t div ido2o">trn f" <">/o2o >o /spa 2o > > /div 2o#L445 2o >/o2o >Pcode=t div ido2o">trn f--) <">/o2o >o /spa 2o > > /div 2o#L446 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f++] =>;">/o2o >Pcode=uc div ido2o">ucrn f" <">/o2o >o /spa 2o > > /div 2o#L447 2o >/o2o >o /spa 2o > > /div 2o#L448 2o >/o <">/o2o >o /spa 2o > > /div 2o#L449 2o >/o2o >Pcode=iextSym div ido2o">iextSymrn f &st" ;">/o2o >Pcode=symTotal div ido2o">symTotalrn f) <">/o2o >o /spa 2o > > /div 2o#L450 2o >/o2o >o /spa 2o > > /div 2o#L451 2o >is a iew literalse;">/o <">/o2o >o /spa 2o > > /div 2o#L452 2o > in these;">/o <">/o2o >o /spa 2o > > /div 2o#L453 2o >dhis literal is curr6" ly to bern;">/o <">/o2o >o /spa 2o > > /div 2o#L454 2o >ult cli't be -1 or 0,se;">/o <">/o2o >o /spa 2o > > /div 2o#L455 2o >RUNA and RUNB. Bup anotherse;">/o <">/o2o >o /spa 2o > > /div 2o#L456 2o >/o <">/o2o >o /spa 2o > > /div 2o#L457 2o > 0, would have been handled as part of ase;">/o <">/o2o >o /spa 2o > > /div 2o#L458 2o > minus 2se;">/o <">/o2o >o /spa 2o > > /div 2o#L459 2o > dis equals -1.) */se;">/o <">/o2o >o /spa 2o > > /div 2o#L460 2o >/o2o >Pcode=dbufCount div ido2o">dbufCountrn f >= ;">/o2o >Pcode=dbufSize div ido2o">dbufSizern f) <">/o2o >o /spa 2o > > /div 2o#L461 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L462 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=iextSym div ido2o">iextSymrn f - 1" <">/o2o >o /spa 2o > > /div 2o#L463 2o >/o2o >Pcode=uc div ido2o">ucrn f =>;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=i div ido2o">irn f]" <">/o2o >o /spa 2o > > /div 2o#L464 2o >/o <">/o2o >o /spa 2o > > /div 2o#L465 2o >boundse;">/o <">/o2o >o /spa 2o > > /div 2o#L466 2o >uss" memmove here wouldse;">/o <">/o2o >o /spa 2o > > /div 2o#L467 2o >to funcd > clllse;">/o <">/o2o >o /spa 2o > > /div 2o#L468 2o >/o <">/o2o >o /spa 2o > > /div 2o#L469 2o >/o2o >o /spa 2o > > /div 2o#L470 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[;">/o2o >Pcode=i div ido2o">irn f-1]" <">/o2o >o /spa 2o > > /div 2o#L471 2o >/o2o >Pcode=i div ido2o">irn f)" <">/o2o >o /spa 2o > > /div 2o#L472 2o >/o2o >Pcode=mtfSymbol div ido2o">mtfSymbolrn f[0] =>;">/o2o >Pcode=uc div ido2o">ucrn f" <">/o2o >o /spa 2o > > /div 2o#L473 2o >/o2o >Pcode=uc div ido2o">ucrn f =>;">/o2o >Pcode=symToByte div ido2o">symToBytern f[;">/o2o >Pcode=uc div ido2o">ucrn f]" <">/o2o >o /spa 2o > > /div 2o#L474 2o >/o <">/o2o >o /spa 2o > > /div 2o#L475 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=uc div ido2o">ucrn f]++" <">/o2o >o /spa 2o > > /div 2o#L476 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f++] =>(unsigned int)o">/o2o >Pcode=uc div ido2o">ucrn f" <">/o2o >o /spa 2o > > /div 2o#L477 2o >/o2o >o /spa 2o > > /div 2o#L478 2o >/o <">/o2o >o /spa 2o > > /div 2o#L479 2o >/o <">/o2o >o /spa 2o > > /div 2o#L480 2o >/o <">/o2o >o /spa 2o > > /div 2o#L481 2o >/o <">/o2o >o /spa 2o > > /div 2o#L482 2o >/o <">/o2o >o /spa 2o > > /div 2o#L483 2o >/o <">/o2o >o /spa 2o > > /div 2o#L484 2o >/o <">/o2o >o /spa 2o > > /div 2o#L485 2o > >byteCount into cumulative occurr6"ce unts of 0>to n-1. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L486 2o >/o2o >Pcode=j div ido2o">jrn f = 0" <">/o2o >o /spa 2o > > /div 2o#L487 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < 256" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L488 2o >/o2o >Pcode=k div ido2o">krn f =>;">/o2o >Pcode=j div ido2o">jrn f+;">/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=i div ido2o">irn f]" <">/o2o >o /spa 2o > > /div 2o#L489 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=i div ido2o">irn f] = ;">/o2o >Pcode=j div ido2o">jrn f" <">/o2o >o /spa 2o > > /div 2o#L490 2o >/o2o >Pcode=j div ido2o">jrn f = o">/o2o >Pcode=k div ido2o">krn f" <">/o2o >o /spa 2o > > /div 2o#L491 2o >/o2o >o /spa 2o > > /div 2o#L492 2o >in if we sorped it. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L493 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < ;">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L494 2o >/o2o >Pcode=uc div ido2o">ucrn f =>(unsigned char)(;">/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=i div ido2o">irn f] & 0xff)" <">/o2o >o /spa 2o > > /div 2o#L495 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=uc div ido2o">ucrn f]] |= (o">/o2o >Pcode=i div ido2o">irn f << 8)" <">/o2o >o /spa 2o > > /div 2o#L496 2o >/o2o >Pcode=byteCount div ido2o">byteCountrn f[;">/o2o >Pcode=uc div ido2o">ucrn f]++" <">/o2o >o /spa 2o > > /div 2o#L497 2o >/o2o >o /spa 2o > > /div 2o#L498 2o >to initializea"2o vious" byte.se;">/o <">/o2o >o /spa 2o > > /div 2o#L499 2o >/o <">/o2o >o /spa 2o > > /div 2o#L500 2o >id6" icll it doesi't qualify as a run (h6"cese;">/o <">/o2o >o /spa 2o > > /div 2o#L501 2o >5). */se;">/o <">/o2o >o /spa 2o > > /div 2o#L502 2o >/o2o >Pcode=dbufCount div ido2o">dbufCountrn f) { <">/o2o >o /spa 2o > > /div 2o#L503 2o >/o2o >Pcode=origPtr div ido2o">origPtrrn f >= ;">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f) <">/o2o >o /spa 2o > > /div 2o#L504 2o >/o2o >Pcode=RETVAL_DATA_ERROR div ido2o">RETVAL_DATA_ERRORrn f" <">/o2o >o /spa 2o > > /div 2o#L505 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f = o">/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=origPtr div ido2o">origPtrrn f]" <">/o2o >o /spa 2o > > /div 2o#L506 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCurr6" div ido2o">writeCurr6" rn f =>(unsigned char)(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f&0xff)" <">/o2o >o /spa 2o > > /div 2o#L507 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f &st"&st"= 8" <">/o2o >o /spa 2o > > /div 2o#L508 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeRunCountdown div ido2o">writeRunCountdownrn f =>5" <">/o2o >o /spa 2o > > /div 2o#L509 2o >/o2o >o /spa 2o > > /div 2o#L510 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCount div ido2o">writeCountrn f = o">/o2o >Pcode=dbufCount div ido2o">dbufCountrn f" <">/o2o >o /spa 2o > > /div 2o#L511 2o >/o2o >o /spa 2o > > /div 2o#L512 2o >/o2o >Pcode=RETVAL_OK div ido2o">RETVAL_OKrn f" <">/o2o >o /spa 2o > > /div 2o#L513 2o >/o2o >o /spa 2o > > /div 2o#L514 2o >/o2o >o /spa 2o > > /div 2o#L515 2o >to produce output.se;">/o <">/o2o >o /spa 2o > > /div 2o#L516 2o > /div was initialized with out_fd =-1, the >up to len bytes ofse;">/o <">/o2o >o /spa 2o > > /div 2o#L517 2o >written to outbuf. R2o > > > di>is number of bytes written orse;">/o <">/o2o >o /spa 2o > > /div 2o#L518 2o >negative numbers). If out_fd!=-1, outbuf and lense;">/o <">/o2o >o /spa 2o > > /div 2o#L519 2o >ignored, data is>written to out_fd and reo > >is>RETVAL_OK or error.se;">/o <">/o2o >o /spa 2o > > /div 2o#L520 2o >/o <">/o2o >o /spa 2o > > /div 2o#L521 2o >/o2o >o /spa 2o > > /div 2o#L522 2o >/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=rult> /div div ido2o">rult> /div rn f(struct>;">/o2o >Pcode= /div _data div ido2o"> /div _datarn f *;">/o2o >Pcode=bd div ido2o"> drn f, char *;">/o2o >Pcode=outbuf div ido2o">outbufrn f, int>;">/o2o >Pcode=lhead div ido2o">lhern f) <">/o2o >o /spa 2o > > /div 2o#L523 2o >/o2o >o /spa 2o > > /div 2o#L524 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f" <">/o2o >o /spa 2o > > /div 2o#L525 2o >/o2o >Pcode=pos div ido2o">posrn f, ;">/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f, ;">/o2o >Pcode=2o vious div ido2o">po viousrn f, ;">/o2o >Pcode=gotcount div ido2o">gotcountrn f" <">/o2o >o /spa 2o > > /div 2o#L526 2o >/o2o >o /spa 2o > > /div 2o#L527 2o >to end of file, reo > >l"rt block now */se;">/o <">/o2o >o /spa 2o > > /div 2o#L528 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCount div ido2o">writeCountrn f < 0) <">/o2o >o /spa 2o > > /div 2o#L529 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCount div ido2o">writeCountrn f" <">/o2o >o /spa 2o > > /div 2o#L530 2o >/o2o >o /spa 2o > > /div 2o#L531 2o >/o2o >Pcode=gotcount div ido2o">gotcountrn f = 0" <">/o2o >o /spa 2o > > /div 2o#L532 2o >/o2o >Pcode=dbuf div ido2o">dbufrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f" <">/o2o >o /spa 2o > > /div 2o#L533 2o >/o2o >Pcode=pos div ido2o">posrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f" <">/o2o >o /spa 2o > > /div 2o#L534 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCurr6" div ido2o">writeCurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L535 2o >/o2o >o /spa 2o > > /div 2o#L536 2o >will alwayschave pends" decoded data to write into t"e outputse;">/o <">/o2o >o /spa 2o > > /div 2o#L537 2o >unl > this is the very first call (in which>case>we havei'tse;">/o <">/o2o >o /spa 2o > > /div 2o#L538 2o >/o <">/o2o >o /spa 2o > > /div 2o#L539 2o >/o2o >o /spa 2o > > /div 2o#L540 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f) { <">/o2o >o /spa 2o > > /div 2o#L541 2o >/o <">/o2o >o /spa 2o > > /div 2o#L542 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f" <">/o2o >o /spa 2o > > /div 2o#L543 2o >/o <">/o2o >o /spa 2o > > /div 2o#L544 2o >/o2o >o /spa 2o > > /div 2o#L545 2o >/o <">/o2o >o /spa 2o > > /div 2o#L546 2o > >*/se;">/o <">/o2o >o /spa 2o > > /div 2o#L547 2o >/o2o >Pcode=gotcount div ido2o">gotcountrn f >= ;">/o2o >Pcode=lhead div ido2o">lhern f) { <">/o2o >o /spa 2o > > /div 2o#L548 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f = o">/o2o >Pcode=pos div ido2o">posrn f" <">/o2o >o /spa 2o > > /div 2o#L549 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCurr6" div ido2o">writeCurr6" rn f =>;">/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L550 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f++" <">/o2o >o /spa 2o > > /div 2o#L551 2o >/o2o >Pcode=lhead div ido2o">lhern f" <">/o2o >o /spa 2o > > /div 2o#L552 2o >/o2o >o /spa 2o > > /div 2o#L553 2o >*/se;">/o <">/o2o >o /spa 2o > > /div 2o#L554 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f[;">/o2o >Pcode=gotcount div ido2o">gotcountrn f++] =>;">/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L555 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f =>(((;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f) << 8) <">/o2o >o /spa 2o > > /div 2o#L556 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=crc32Table div ido2o">crc32Tablern f[((;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f) &st"&st" 24) <">/o2o >o /spa 2o > > /div 2o#L557 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f])" <">/o2o >o /spa 2o > > /div 2o#L558 2o >/o <">/o2o >o /spa 2o > > /div 2o#L559 2o >/o <">/o2o >o /spa 2o > > /div 2o#L560 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f) { <">/o2o >o /spa 2o > > /div 2o#L561 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f" <">/o2o >o /spa 2o > > /div 2o#L562 2o >/o2o >o /spa 2o > > /div 2o#L563 2o >/o2o >o /spa 2o > > /div 2o#L564 2o >/o2o >Pcode=decode_iext_byte div ido2o">decode_iext_bytern f: <">/o2o >o /spa 2o > > /div 2o#L565 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCount div ido2o">writeCountrn f--) <">/o2o >o /spa 2o > > /div 2o#L566 2o >/o2o >o /spa 2o > > /div 2o#L567 2o >to undose;">/o <">/o2o >o /spa 2o > > /div 2o#L568 2o >/o <">/o2o >o /spa 2o > > /div 2o#L569 2o >/o2o >Pcode=2o vious div ido2o">po viousrn f =>;">/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L570 2o >/o2o >Pcode=pos div ido2o">posrn f = ;">/o2o >Pcode=dbuf div ido2o">dbufrn f[;">/o2o >Pcode=pos div ido2o">posrn f]" <">/o2o >o /spa 2o > > /div 2o#L571 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f = ;">/o2o >Pcode=pos div ido2o">posrn f&0xff" <">/o2o >o /spa 2o > > /div 2o#L572 2o >/o2o >Pcode=pos div ido2o">posrn f &st"&st"= 8" <">/o2o >o /spa 2o > > /div 2o#L573 2o >/o <">/o2o >o /spa 2o > > /div 2o#L574 2o >countrn;">/o <">/o2o >o /spa 2o > > /div 2o#L575 2o >/o <">/o2o >o /spa 2o > > /div 2o#L576 2o >/o <">/o2o >o /spa 2o > > /div 2o#L577 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeRunCountdown div ido2o">writeRunCountdownrn f) { <">/o2o >o /spa 2o > > /div 2o#L578 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f != ;">/o2o >Pcode=po vious div ido2o">po viousrn f) <">/o2o >o /spa 2o > > /div 2o#L579 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeRunCountdown div ido2o">writeRunCountdownrn f = 4" <">/o2o >o /spa 2o > > /div 2o#L580 2o >/o2o >o /spa 2o > > /div 2o#L581 2o >/o <">/o2o >o /spa 2o > > /div 2o#L582 2o >is the count */se;">/o <">/o2o >o /spa 2o > > /div 2o#L583 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f =>;">/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L584 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f = ;">/o2o >Pcode=po vious div ido2o">po viousrn f" <">/o2o >o /spa 2o > > /div 2o#L585 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeRunCountdown div ido2o">writeRunCountdownrn f =>5" <">/o2o >o /spa 2o > > /div 2o#L586 2o >/o <">/o2o >o /spa 2o > > /div 2o#L587 2o >/o <">/o2o >o /spa 2o > > /div 2o#L588 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f) <">/o2o >o /spa 2o > > /div 2o#L589 2o >/o2o >Pcode=decode_iext_byte div ido2o">decode_iext_bytern f" <">/o2o >o /spa 2o > > /div 2o#L590 2o >/o <">/o2o >o /spa 2o > > /div 2o#L591 2o >to get extras */se;">/o <">/o2o >o /spa 2o > > /div 2o#L592 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCopies div ido2o">writeCopiesrn f" <">/o2o >o /spa 2o > > /div 2o#L593 2o >/o2o >o /spa 2o > > /div 2o#L594 2o >/o2o >o /spa 2o > > /div 2o#L595 2o > > of this block co 2leped succ > fully */se;">/o <">/o2o >o /spa 2o > > /div 2o#L596 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f =>~;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f" <">/o2o >o /spa 2o > > /div 2o#L597 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f =>((o">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f << 1) | <">/o2o >o /spa 2o > > /div 2o#L598 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f &st"&st" 31)) ^ ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f" <">/o2o >o /spa 2o > > /div 2o#L599 2o >error, resce file level CRC>error. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L600 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f != ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=hulterCRC div ido2o">hulterCRCrn f) { <">/o2o >o /spa 2o > > /div 2o#L601 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f =>;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=hulterCRC div ido2o">hulterCRCrn f+1" <">/o2o >o /spa 2o > > /div 2o#L602 2o >/o2o >Pcode=RETVAL_LAST_BLOCK div ido2o">RETVAL_LAST_BLOCKrn f" <">/o2o >o /spa 2o > > /div 2o#L603 2o >/o2o >o /spa 2o > > /div 2o#L604 2o >/o2o >o /spa 2o > > /div 2o#L605 2o >/o2o >o /spa 2o > > /div 2o#L606 2o >/o <">/o2o >o /spa 2o > > /div 2o#L607 2o >/o <">/o2o >o /spa 2o > > /div 2o#L608 2o >/o <">/o2o >o /spa 2o > > /div 2o#L609 2o >/o2o >Pcode=2o vious div ido2o">po viousrn f =>;">/o2o >Pcode=get_iext_block div ido2o">get_iext_blockrn f(;">/o2o >Pcode=bd div ido2o"> drn f)" <">/o2o >o /spa 2o > > /div 2o#L610 2o >/o2o >Pcode=po vious div ido2o">po viousrn f) { <">/o2o >o /spa 2o > > /div 2o#L611 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCount div ido2o">writeCountrn f = ;">/o2o >Pcode=po vious div ido2o">po viousrn f" <">/o2o >o /spa 2o > > /div 2o#L612 2o >/o2o >Pcode=po vious div ido2o">po viousrn f != ;">/o2o >Pcode=RETVAL_LAST_BLOCK div ido2o">RETVAL_LAST_BLOCKrn f) ? ;">/o2o >Pcode=2o vious div ido2o">po viousrn f : ;">/o2o >Pcode=gotcount div ido2o">gotcountrn f" <">/o2o >o /spa 2o > > /div 2o#L613 2o >/o2o >o /spa 2o > > /div 2o#L614 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCRC div ido2o">writeCRCrn f =>0xffffffffUL" <">/o2o >o /spa 2o > > /div 2o#L615 2o >/o2o >Pcode=2os div ido2o">posrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writePos div ido2o">writePosrn f" <">/o2o >o /spa 2o > > /div 2o#L616 2o >/o2o >Pcode=xcurr6" div ido2o">xcurr6" rn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=writeCurr6" div ido2o">writeCurr6" rn f" <">/o2o >o /spa 2o > > /div 2o#L617 2o >/o2o >Pcode=decode_iext_byte div ido2o">decode_iext_bytern f" <">/o2o >o /spa 2o > > /div 2o#L618 2o >/o2o >o /spa 2o > > /div 2o#L619 2o >/o2o >o /spa 2o > > /div 2o#L620 2o >/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=nofill div ido2o">nofillrn f(void *;">/o2o >Pcode=buf div ido2o">bufrn f, unsigned int ;">/o2o >Pcode=lhead div ido2o">lhern f) <">/o2o >o /spa 2o > > /div 2o#L621 2o >/o2o >o /spa 2o > > /div 2o#L622 2o >/o2o >o /spa 2o > > /div 2o#L623 2o >/o2o >o /spa 2o > > /div 2o#L624 2o >/o2o >o /spa 2o > > /div 2o#L625 2o >/o <">/o2o >o /spa 2o > > /div 2o#L626 2o >/o <">/o2o >o /spa 2o > > /div 2o#L627 2o >read from file handle into temporary buffer. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L628 2o >/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=start> /div div ido2o">start> /div rn f(struct>;">/o2o >Pcode= /div _data div ido2o"> /div _datarn f **;">/o2o >Pcode=bd div ido2o">bd rn f, void *;">/o2o >Pcode=inbuf div ido2o">inbufrn f, int ;">/o2o >Pcode=lhead div ido2o">lhern f, <">/o2o >o /spa 2o > > /div 2o#L629 2o >/o2o >Pcode=fill div ido2o">fillrn f)(void*, unsigned int)) <">/o2o >o /spa 2o > > /div 2o#L630 2o >/o2o >o /spa 2o > > /div 2o#L631 2o >/o2o >Pcode= /div _data div ido2o"> /div _datarn f *;">/o2o >Pcode=bd div ido2o"> drn f" <">/o2o >o /spa 2o > > /div 2o#L632 2o >/o2o >Pcode=i div ido2o">irn f, ;">/o2o >Pcode=j div ido2o">jrn f, ;">/o2o >Pcode=c div ido2o">crn f" <">/o2o >o /spa 2o > > /div 2o#L633 2o >/o2o >Pcode=BZh0 div ido2o">BZh0rn f = <">/o2o >o /spa 2o > > /div 2o#L634 2o >'B'se;">/o) << 24)+(((unsigned int)onclick="retustring">'Z'se;">/o) << 16) <">/o2o >o /spa 2o > > /div 2o#L635 2o >'h'se;">/o) << 8)+(unsigned int)onclick="retustring">'0'se;">/o" <">/o2o >o /spa 2o > > /div 2o#L636 2o >/o2o >o /spa 2o > > /div 2o#L637 2o >/o <">/o2o >o /spa 2o > > /div 2o#L638 2o >/o2o >Pcode=i div ido2o">irn f = sizeof(struct>;">/o2o >Pcode= /div _data div ido2o"> /div _datarn f)" <">/o2o >o /spa 2o > > /div 2o#L639 2o >/o2o >o /spa 2o > > /div 2o#L640 2o >/o <">/o2o >o /spa 2o > > /div 2o#L641 2o >/o2o >Pcode=bd div ido2o"> drn f = *;">/o2o >Pcode=bd div ido2o">bd rn f = ;">/o2o >Pcode=malloc div ido2o">mallocrn f(;">/o2o >Pcode=i div ido2o">irn f)" <">/o2o >o /spa 2o > > /div 2o#L642 2o >/o2o >Pcode=bd div ido2o"> drn f) <">/o2o >o /spa 2o > > /div 2o#L643 2o >/o2o >Pcode=RETVAL_OUT_OF_MEMORY div ido2o">RETVAL_OUT_OF_MEMORYrn f" <">/o2o >o /spa 2o > > /div 2o#L644 2o >/o2o >Pcode=memse div ido2o">memse rn f(;">/o2o >Pcode=bd div ido2o"> drn f, 0, sizeof(struct>;">/o2o >Pcode= /div _data div ido2o"> /div _datarn f))" <">/o2o >o /spa 2o > > /div 2o#L645 2o >/o <">/o2o >o /spa 2o > > /div 2o#L646 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbuf div ido2o">inbufrn f = ;">/o2o >Pcode=inbuf div ido2o">inbufrn f" <">/o2o >o /spa 2o > > /div 2o#L647 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufCount div ido2o">inbufCountrn f = ;">/o2o >Pcode=lhead div ido2o">lhern f" <">/o2o >o /spa 2o > > /div 2o#L648 2o >/o2o >Pcode=fill div ido2o">fillrn f != ;">/o2o >Pcode=NULL div ido2o">NULLrn f) <">/o2o >o /spa 2o > > /div 2o#L649 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=fill div ido2o">fillrn f = ;">/o2o >Pcode=fill div ido2o">fillrn f" <">/o2o >o /spa 2o > > /div 2o#L650 2o >/o2o >o /spa 2o > > /div 2o#L651 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=fill div ido2o">fillrn f = ;">/o2o >Pcode=nofill div ido2o">nofillrn f" <">/o2o >o /spa 2o > > /div 2o#L652 2o >/o2o >o /spa 2o > > /div 2o#L653 2o >/o <">/o2o >o /spa 2o > > /div 2o#L654 2o >/o2o >Pcode=i div ido2o">irn f =>0" ;">/o2o >Pcode=i div ido2o">irn f < 256" ;">/o2o >Pcode=i div ido2o">irn f++) { <">/o2o >o /spa 2o > > /div 2o#L655 2o >/o2o >Pcode=c div ido2o">crn f = ;">/o2o >Pcode=i div ido2o">irn f << 24" <">/o2o >o /spa 2o > > /div 2o#L656 2o >/o2o >Pcode=j div ido2o">jrn f = 8" ;">/o2o >Pcode=j div ido2o">jrn f" ;">/o2o >Pcode=j div ido2o">jrn f--) <">/o2o >o /spa 2o > > /div 2o#L657 2o >/o2o >Pcode=c div ido2o">crn f = ;">/o2o >Pcode=c div ido2o">crn f&0x80000000 ? (;">/o2o >Pcode=c div ido2o">crn f << 1)^0x04c11db7 : (;">/o2o >Pcode=c div ido2o">crn f << 1)" <">/o2o >o /spa 2o > > /div 2o#L658 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=crc32Table div ido2o">crc32Tablern f[;">/o2o >Pcode=i div ido2o">irn f] =>;">/o2o >Pcode=c div ido2o">crn f" <">/o2o >o /spa 2o > > /div 2o#L659 2o >/o2o >o /spa 2o > > /div 2o#L660 2o >/o2o >o /spa 2o > > /div 2o#L661 2o >/o <">/o2o >o /spa 2o > > /div 2o#L662 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=get_bits div ido2o">get_bitsrn f(;">/o2o >Pcode=bd div ido2o"> drn f, 32)" <">/o2o >o /spa 2o > > /div 2o#L663 2o >/o2o >Pcode=i div ido2o">irn f-;">/o2o >Pcode=BZh0 div ido2o">BZh0rn f-1)) &st"= 9) <">/o2o >o /spa 2o > > /div 2o#L664 2o >/o2o >Pcode=RETVAL_NOT_BZIP_DATA div ido2o">RETVAL_NOT_BZIP_DATArn f" <">/o2o >o /spa 2o > > /div 2o#L665 2o >/o2o >o /spa 2o > > /div 2o#L666 2o >is block size in units of 100k ofse;">/o <">/o2o >o /spa 2o > > /div 2o#L667 2o > ed data. .Allocate intermediate buffer res block. */se;">/o <">/o2o >o /spa 2o > > /div 2o#L668 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbufSize div ido2o">dbufSizern f =>100000*(;">/o2o >Pcode=i div ido2o">irn f-;">/o2o >Pcode=BZh0 div ido2o">BZh0rn f)" <">/o2o >o /spa 2o > > /div 2o#L669 2o >/o2o >o /spa 2o > > /div 2o#L670 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f = ;">/o2o >Pcode=large_malloc div ido2o">large_mallocrn f(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbufSize div ido2o">dbufSizern f * sizeof(int))" <">/o2o >o /spa 2o > > /div 2o#L671 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f) <">/o2o >o /spa 2o > > /div 2o#L672 2o >/o2o >Pcode=RETVAL_OUT_OF_MEMORY div ido2o">RETVAL_OUT_OF_MEMORYrn f" <">/o2o >o /spa 2o > > /div 2o#L673 2o >/o2o >Pcode=RETVAL_OK div ido2o">RETVAL_OKrn f" <">/o2o >o /spa 2o > > /div 2o#L674 2o >/o2o >o /spa 2o > > /div 2o#L675 2o >/o2o >o /spa 2o > > /div 2o#L676 2o > src_fd to dst_fd. .(Stops at end of biv data,se;">/o <">/o2o >o /spa 2o > > /div 2o#L677 2o >/o <">/o2o >o /spa 2o > > /div 2o#L678 2o >/o2o >Pcode=STATIC div ido2o">STATICrn f int>;">/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode= /div div ido2o"> /div 2rn f(unsigned char *;">/o2o >Pcode=buf div ido2o">bufrn f, int ;">/o2o >Pcode=lhead div ido2o">lhern f, <">/o2o >o /spa 2o > > /div 2o#L679 2o >/o2o >Pcode=fill div ido2o">fillrn f)(void*, unsigned int), <">/o2o >o /spa 2o > > /div 2o#L680 2o >/o2o >Pcode=flush div ido2o">flushrn f)(void*, unsigned int), <">/o2o >o /spa 2o > > /div 2o#L681 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f, <">/o2o >o /spa 2o > > /div 2o#L682 2o >/o2o >Pcode=pos div ido2o">posrn f, <">/o2o >o /spa 2o > > /div 2o#L683 2o >/o2o >Pcode=error div ido2o">errorrn f)(char *;">/o2o >Pcode=x div ido2o">xrn f)) <">/o2o >o /spa 2o > > /div 2o#L684 2o >/o2o >o /spa 2o > > /div 2o#L685 2o >/o2o >Pcode= /div _data div ido2o"> /div _datarn f *;">/o2o >Pcode=bd div ido2o"> drn f" <">/o2o >o /spa 2o > > /div 2o#L686 2o >/o2o >Pcode=i div ido2o">irn f = -1" <">/o2o >o /spa 2o > > /div 2o#L687 2o >/o2o >Pcode=inbuf div ido2o">inbufrn f" <">/o2o >o /spa 2o > > /div 2o#L688 2o >/o2o >o /spa 2o > > /div 2o#L689 2o >/o2o >Pcode=flush div ido2o">flushrn f) <">/o2o >o /spa 2o > > /div 2o#L690 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f = ;">/o2o >Pcode=malloc div ido2o">mallocrn f(;">/o2o >Pcode=BZIP2_IOBUF_SIZE div ido2o">BZIP2_IOBUF_SIZErn f)" <">/o2o >o /spa 2o > > /div 2o#L691 2o >/o2o >o /spa 2o > > /div 2o#L692 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f) { <">/o2o >o /spa 2o > > /div 2o#L693 2o >/o2o >Pcode=error div ido2o">errorrn f(onclick="retustring">"Could not allocate output buffer"se;">/o)" <">/o2o >o /spa 2o > > /div 2o#L694 2o >/o2o >Pcode=RETVAL_OUT_OF_MEMORY div ido2o">RETVAL_OUT_OF_MEMORYrn f" <">/o2o >o /spa 2o > > /div 2o#L695 2o >/o2o >o /spa 2o > > /div 2o#L696 2o >/o2o >Pcode=buf div ido2o">bufrn f) <">/o2o >o /spa 2o > > /div 2o#L697 2o >/o2o >Pcode=inbuf div ido2o">inbufrn f = ;">/o2o >Pcode=buf div ido2o">bufrn f" <">/o2o >o /spa 2o > > /div 2o#L698 2o >/o2o >o /spa 2o > > /div 2o#L699 2o >/o2o >Pcode=inbuf div ido2o">inbufrn f = ;">/o2o >Pcode=malloc div ido2o">mallocrn f(;">/o2o >Pcode=BZIP2_IOBUF_SIZE div ido2o">BZIP2_IOBUF_SIZErn f)" <">/o2o >o /spa 2o > > /div 2o#L700 2o >/o2o >Pcode=inbuf div ido2o">inbufrn f) { <">/o2o >o /spa 2o > > /div 2o#L701 2o >/o2o >Pcode=error div ido2o">errorrn f(onclick="retustring">"Could not allocate input buffer"se;">/o)" <">/o2o >o /spa 2o > > /div 2o#L702 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=RETVAL_OUT_OF_MEMORY div ido2o">RETVAL_OUT_OF_MEMORYrn f" <">/o2o >o /spa 2o > > /div 2o#L703 2o >/o2o >Pcode=exit_0 div ido2o">exit_0rn f" <">/o2o >o /spa 2o > > /div 2o#L704 2o >/o2o >o /spa 2o > > /div 2o#L705 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=start> /div div ido2o">start> /div rn f(&;">/o2o >Pcode=bd div ido2o"> drn f, ;">/o2o >Pcode=inbuf div ido2o">inbufrn f, ;">/o2o >Pcode=lhead div ido2o">lhern f, ;">/o2o >Pcode=fill div ido2o">fillrn f)" <">/o2o >o /spa 2o > > /div 2o#L706 2o >/o2o >Pcode=i div ido2o">irn f) { <">/o2o >o /spa 2o > > /div 2o#L707 2o >/o2o >o /spa 2o > > /div 2o#L708 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=read> /div div ido2o">read> /div rn f(;">/o2o >Pcode=bd div ido2o"> drn f, ;">/o2o >Pcode=outbuf div ido2o">outbufrn f, ;">/o2o >Pcode=BZIP2_IOBUF_SIZE div ido2o">BZIP2_IOBUF_SIZErn f)" <">/o2o >o /spa 2o > > /div 2o#L709 2o >/o2o >Pcode=i div ido2o">irn f <= 0) <">/o2o >o /spa 2o > > /div 2o#L710 2o >/o2o >o /spa 2o > > /div 2o#L711 2o >/o2o >Pcode=flush div ido2o">flushrn f) <">/o2o >o /spa 2o > > /div 2o#L712 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f += ;">/o2o >Pcode=i div ido2o">irn f" <">/o2o >o /spa 2o > > /div 2o#L713 2o >/o2o >o /spa 2o > > /div 2o#L714 2o >/o2o >Pcode=i div ido2o">irn f != ;">/o2o >Pcode=flush div ido2o">flushrn f(;">/o2o >Pcode=outbuf div ido2o">outbufrn f, ;">/o2o >Pcode=i div ido2o">irn f)) { <">/o2o >o /spa 2o > > /div 2o#L715 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=RETVAL_UNEXPECTED_OUTPUT_EOF div ido2o">RETVAL_UNEXPECTED_OUTPUT_EOFrn f" <">/o2o >o /spa 2o > > /div 2o#L716 2o >/o2o >o /spa 2o > > /div 2o#L717 2o >/o2o >o /spa 2o > > /div 2o#L718 2o >/o2o >o /spa 2o > > /div 2o#L719 2o >/o2o >o /spa 2o > > /div 2o#L720 2o >and release memory */se;">/o <">/o2o >o /spa 2o > > /div 2o#L721 2o >/o2o >Pcode=i div ido2o">irn f == ;">/o2o >Pcode=RETVAL_LAST_BLOCK div ido2o">RETVAL_LAST_BLOCKrn f) { <">/o2o >o /spa 2o > > /div 2o#L722 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=hulterCRC div ido2o">hulterCRCrn f != ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=totalCRC div ido2o">totalCRCrn f) <">/o2o >o /spa 2o > > /div 2o#L723 2o >/o2o >Pcode=error div ido2o">errorrn f(onclick="retustring">"Data integrity>error when pa 2o > ing."se;">/o)" <">/o2o >o /spa 2o > > /div 2o#L724 2o >/o2o >o /spa 2o > > /div 2o#L725 2o >/o2o >Pcode=i div ido2o">irn f =>;">/o2o >Pcode=RETVAL_OK div ido2o">RETVAL_OKrn f" <">/o2o >o /spa 2o > > /div 2o#L726 2o >/o2o >Pcode=i div ido2o">irn f == ;">/o2o >Pcode=RETVAL_UNEXPECTED_OUTPUT_EOF div ido2o">RETVAL_UNEXPECTED_OUTPUT_EOFrn f) { <">/o2o >o /spa 2o > > /div 2o#L727 2o >/o2o >Pcode=error div ido2o">errorrn f(onclick="retustring">"Co 2o > ed file ends unexpectedly"se;">/o)" <">/o2o >o /spa 2o > > /div 2o#L728 2o >/o2o >o /spa 2o > > /div 2o#L729 2o >/o2o >Pcode=bd div ido2o"> drn f) <">/o2o >o /spa 2o > > /div 2o#L730 2o >/o2o >Pcode=exit_1 div ido2o">exit_1rn f" <">/o2o >o /spa 2o > > /div 2o#L731 2o >/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f) <">/o2o >o /spa 2o > > /div 2o#L732 2o >/o2o >Pcode=large_free div ido2o">large_freern f(;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=dbuf div ido2o">dbufrn f)" <">/o2o >o /spa 2o > > /div 2o#L733 2o >/o2o >Pcode=pos div ido2o">posrn f) <">/o2o >o /spa 2o > > /div 2o#L734 2o >/o2o >Pcode=pos div ido2o">posrn f = ;">/o2o >Pcode=bd div ido2o"> drn f-ost";">/o2o >Pcode=inbufPos div ido2o">inbufPosrn f" <">/o2o >o /spa 2o > > /div 2o#L735 2o >/o2o >Pcode=free div ido2o">freern f(;">/o2o >Pcode=bd div ido2o"> drn f)" <">/o2o >o /spa 2o > > /div 2o#L736 2o >/o2o >Pcode=exit_1 div ido2o">exit_1rn f: <">/o2o >o /spa 2o > > /div 2o#L737 2o >/o2o >Pcode=buf div ido2o">bufrn f) <">/o2o >o /spa 2o > > /div 2o#L738 2o >/o2o >Pcode=free div ido2o">freern f(;">/o2o >Pcode=inbuf div ido2o">inbufrn f)" <">/o2o >o /spa 2o > > /div 2o#L739 2o >/o2o >Pcode=exit_0 div ido2o">exit_0rn f: <">/o2o >o /spa 2o > > /div 2o#L740 2o >/o2o >Pcode=flush div ido2o">flushrn f) <">/o2o >o /spa 2o > > /div 2o#L741 2o >/o2o >Pcode=free div ido2o">freern f(;">/o2o >Pcode=outbuf div ido2o">outbufrn f)" <">/o2o >o /spa 2o > > /div 2o#L742 2o >/o2o >Pcode=i div ido2o">irn f" <">/o2o >o /spa 2o > > /div 2o#L743 2o >/o2o >o /spa 2o > > /div 2o#L744 2o >/o2o >o /spa 2o > > /div 2o#L745 2o >/o2o >Pcode=PREBOOT div ido2o">PREBOOTrn f <">/o2o >o /spa 2o > > /div 2o#L746 2o >/o2o >Pcode=STATIC div ido2o">STATICrn f int>;">/o2o >Pcode=INIT div ido2o">INITrn f ;">/o2o >Pcode=pa 2o > div ido2o">da 2o > rn f(unsigned char *;">/o2o >Pcode=buf div ido2o">bufrn f, int ;">/o2o >Pcode=lhead div ido2o">lhern f, <">/o2o >o /spa 2o > > /div 2o#L747 2o >/o2o >Pcode=fill div ido2o">fillrn f)(void*, unsigned int), <">/o2o >o /spa 2o > > /div 2o#L748 2o >/o2o >Pcode=flush div ido2o">flushrn f)(void*, unsigned int), <">/o2o >o /spa 2o > > /div 2o#L749 2o >/o2o >Pcode=outbuf div ido2o">outbufrn f, <">/o2o >o /spa 2o > > /div 2o#L750 2o >/o2o >Pcode=pos div ido2o">posrn f, <">/o2o >o /spa 2o > > /div 2o#L751 2o >/o2o >Pcode=error div ido2o">errorrn f)(char *;">/o2o >Pcode=x div ido2o">xrn f)) <">/o2o >o /spa 2o > > /div 2o#L752 2o >/o2o >o /spa 2o > > /div 2o#L753 2o >/o2o >Pcode= /div div ido2o"> /div 2rn f(;">/o2o >Pcode=buf div ido2o">bufrn f, ;">/o2o >Pcode=lhead div ido2o">lhern f - 4, ;">/o2o >Pcode=fill div ido2o">fillrn f, ;">/o2o >Pcode=flush div ido2o">flushrn f, ;">/o2o >Pcode=outbuf div ido2o">outbufrn f, ;">/o2o >Pcode=pos div ido2o">posrn f, o">/o2o >Pcode=error div ido2o">errorrn f)" <">/o2o >o /spa 2o > > /div 2o#L754 2o >/o2o >o /spa 2o > > /div 2o#L755 2o >/o2o >o /spa 2o > > /div 2o#L756 2o > The original LXR softwari by the <">/o2o >http://sourceforge.net/2oojects/lxr">LXR munityrn f, this experim6" al ver > by <">/o2o >mailto:lxr@rinux.no">lxr@rinux.norn f. lxr.rinux.no kindly hosped by <">/o2o >http://www.redpill-rin2oo.no">Redpill Lin2oo ASrn f, 2oovider of Linux consults" and operat > s services since 1995.