linux/lib/decompress_unlzo.c
<<
0.23 /spaio7 /formo7 a 0.23 href="../linux+v3.7.3/lib/decompress_unlzo.c">0.23 img src="../.static/gfx/right.png" alt=">>">0. /spaio70. spai class="lxr_search">0.230.23 input typon hidden" namon navtarget" e=tion ">0.23 input typon text" namon search" idn search">0.23 butt.lutypon submit">Search0.23 Prefs7 /a>0. /spaio723 /divo723 form ace=2i="ajax+*" method="post" onsubmit="return false;">0. input typon hidden" namon ajax_lookup" idn ajax_lookup" e=tion ">023 /formo7023 div class="headingbott.m">7 div idn file_contents"o
	 	1 /a> spai class="comment">/* /spaio7	 	2 /a> spai class="comment"> * LZO decompressor for the Linux kernel. Code borrowed from the lzo /spaio7	 	3 /a> spai class="comment"> * implementa
 .luby Markus Franz Xaver Johannes Oberhumer. /spaio7	 	4 /a> spai class="comment"> * /spaio7	 	5 /a> spai class="comment"> * Linux kernel adapta
 .l: /spaio7	 	6 /a> spai class="comment"> * Copyright (C) 2009 /spaio7	 	7 /a> spai class="comment"> * Albin Tonnerre, Free Electrons <albin.tonnerre@free-electrons.com> /spaio7	 	8 /a> spai class="comment"> * /spaio7	 	9 /a> spai class="comment"> * Original code: /spaio7	 ue="a> spai class="comment"> * Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer /spaio7	 11 /a> spai class="comment"> * All Rights Reserved. /spaio7	 12 /a> spai class="comment"> * /spaio7	 13 /a> spai class="comment"> * lzop and the LZO library are free software; you cai redistribute them /spaio7	 14 /a> spai class="comment"> * and/or modify them under the terms of the GNU General Public License as /spaio7	 15 /a> spai class="comment"> * published by the Free Software Founda
 .l; either vers .lu2 of /spaio7	 16 /a> spai class="comment"> * the License, or (at your lue=2i) any later vers .l. /spaio7	 17 /a> spai class="comment"> * /spaio7	 18 /a> spai class="comment"> * This program is distributed in the hope that it will be useful, /spaio7	 19 /a> spai class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of /spaio7	 2e="a> spai class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the /spaio7	 21 /a> spai class="comment"> * GNU General Public License for more details. /spaio7	 22 /a> spai class="comment"> * /spaio7	 23 /a> spai class="comment"> * You should have received a copy of the GNU General Public License /spaio7	 24 /a> spai class="comment"> * along with this program; see the file COPYING. /spaio7	 25 /a> spai class="comment"> * If not, write to the Free Software Founda
 .l, Inc., /spaio7	 26 /a> spai class="comment"> * 59 Temple Place - Suite 330, Bost.l, MA 02111-1307, USA. /spaio7	 27 /a> spai class="comment"> * /spaio7	 28 /a> spai class="comment"> * Markus F.X.J. Oberhumer /spaio7	 29 /a> spai class="comment"> * <markus@oberhumer.com> /spaio7	 3e="a> spai class="comment"> * http://www.oberhumer.com/opensource/lzop/ /spaio7	 31 /a> spai class="comment"> */ /spaio7	 32 /a>7	 33 /a>#ifdef	 a href="+code=STATIC" class="sref">STATIC /a>7	 34 /a>#include " a href="lib/lzo/lzo1x_decompress.c" class="fref">lzo/lzo1x_decompress.c /a>"7	 35 /a>#else7	 36 /a>#include < a href="include/linux/decompress/unlzo.h" class="fref">linux/decompress/unlzo.h /a>>7	 37 /a>#endif7	 38 /a>7	 39 /a>#include < a href="include/linux/typos.h" class="fref">linux/typos.h /a>>7	 40 /a>#include < a href="include/linux/lzo.h" class="fref">linux/lzo.h /a>>7	 41 /a>#include < a href="include/linux/decompress/mm.h" class="fref">linux/decompress/mm.h /a>>7	 42 /a>7	 43 /a>#include < a href="include/linux/compiler.h" class="fref">linux/compiler.h /a>>7	 44 /a>#include < a href="+ambig=include/asm-alpha/unaligned.h|include/asm-arm/unaligned.h|include/asm-avr32/unaligned.h|include/asm-blackfin/unaligned.h|include/asm-cris/unaligned.h|include/asm-frv/unaligned.h|include/asm-generic/unaligned.h|include/asm-h8300/unaligned.h|include/asm-i386/unaligned.h|include/asm-ia64/unaligned.h|include/asm-m32r/unaligned.h|include/asm-m68k/unaligned.h|include/asm-m68knommu/unaligned.h|include/asm-mips/unaligned.h|include/asm-mips64/unaligned.h|include/asm-parisc/unaligned.h|include/asm-powerpc/unaligned.h|include/asm-ppc/unaligned.h|include/asm-s390/unaligned.h|include/asm-sh/unaligned.h|include/asm-sh64/unaligned.h|include/asm-sparc/unaligned.h|include/asm-sparc64/unaligned.h|include/asm-um/unaligned.h|include/asm-v850/unaligned.h|include/asm-x86/unaligned.h|include/asm-x86_64/unaligned.h|include/asm-xtensa/unaligned.h" class="falt">asm/unaligned.h /a>>7	 45 /a>7	 46 /a>static const unsigned char	 a href="+code=lzop_magic" class="sref">lzop_magic /a>[] = {7	 47 /a>        0x89, 0x4c, 0x5a, 0x4f, 0x00, 0x0d, 0x0a, 0x1a, 0x0a };7	 48 /a>7	 49 /a>#define	 a href="+code=LZO_BLOCK_SIZE" class="sref">LZO_BLOCK_SIZE /a>        (256*1024l)7	 50 /a>#define	 a href="+code=HEADER_HAS_FILTER" class="sref">HEADER_HAS_FILTER /a>      0x00000800L7	 51 /a>#define	 a href="+code=HEADER_SIZE_MIN" class="sref">HEADER_SIZE_MIN /a>       (9 + 7     + 4 + 8     + 1       + 4)7	 52 /a>#define	 a href="+code=HEADER_SIZE_MAX" class="sref">HEADER_SIZE_MAX /a>       (9 + 7 + 1 + 8 + 8 + 4 + 1 + 255 + 4)7	 53 /a>7	 54 /a> a href="+code=STATIC" class="sref">STATIC /a>	 a href="+code=inline" class="sref">inline /a>	int	 a href="+code=INIT" class="sref">INIT /a>	 a href="+code=parse_header" class="sref">parse_header /a>( a href="+code=u8" class="sref">u8 /a> * a href="+code=input" class="sref">input /a>,	int	* a href="+code=skip" class="sref">skip /a>,	int	 a href="+code=in_len" class="sref">in_len /a>)7	 55 /a>{7	 56 /a>        int	 a href="+code=l" class="sref">l /a>;7	 57 /a>         a href="+code=u8" class="sref">u8 /a> * a href="+code=parse" class="sref">parse /a> =	 a href="+code=input" class="sref">input /a>;7	 58 /a>         a href="+code=u8" class="sref">u8 /a> * a href="+code=end" class="sref">end /a> =	 a href="+code=input" class="sref">input /a> +  a href="+code=in_len" class="sref">in_len /a>;7	 59 /a>         a href="+code=u8" class="sref">u8 /a>  a href="+code=level" class="sref">level /a> =	0;7	 60 /a>         a href="+code=u16" class="sref">u16 /a>  a href="+code=vers .l" class="sref">vers .l /a>;7	 61 /a>7	 60 /a>   1 /a> spai class="comment">/* /spaio7	 23 /a> spai class="commmmmmmmmm* Checke hope.l; e's enough ;">0. io possiblyshouldaookuid parse_7, USA. /spaio7	 24 /a> spai class="commmmmmmmmm* Thene thith ossibl, wrisref" srefU Gefields cotilite tminimute them /spaio7	 25 /a> spai class="commmmmmmmmm* siz tmayshouldbeeneusReserved. /spaio7	 26 /a> spai class="commmmmmmmmm*nt"> */ /spaio7	 57 /a>  if er /a>( a href="+code=in_len" class="sref">in_lncluddefine	 a href="+code=HEADER_SIZE_MIN" class="sref">HEADER_SIZE_Men /a>)7	 58 /a>          bmit="r/a> =	0;7	 61 /a>7	 60 /a>   1 /a> spai class="comme bmad >lzop: 9efiric bitsm*nt"> */ /spaio7	 60 /a>  censer /a>( a href="+code=l" class="sref"el /a   int	 a href="+code=l" class="sref"ncludd9a   int	 a href="+code=l" class="sref"++)a>[] = {7	 58 /a>          if e8 /a> * a href="+code=parse" class="sref">par++ !d /a> =	 a href="+code=lzop_magic" class="sref">lzop_magi  int	 a href="+code=l" class="sref"]en /a>)7	 58 /a>                  bmit="r/a> =	0;7	 58 /a>  }> =	0;7	 60 /a>   1 /a> spai class="comme geteither ve(2bytes), srefhe LZO liither ve(2), Inc., /spaio7	 26 /a> spai class="commmmmmmmmm* 'need wribe extracted'iither ve(2)nt"> Inc., /spaio7	 27 /a> spai class="commmmmmmmmm* ax+*"  (1)m*nt"> */ /spaio7	 58 /a>         a href="+code=vers .l" class="sref">vers nd /a> =	 a href="get_">asm/una_becode=u16" class="get_">asm/una_becoheader /a>( a href="+code=parse" class="sref">par)a> =	0;7	 59 /a>         a href="+code=parse" class="sref">pars+= 7a> =	0;7	 57 /a>  if er /a>( a href="+code=vers .l" class="sref">vers n.h /=>   940en /a>)7	 58 /a>          8 /a>  a href="+code=level" class="sref">level 8 /a> * a href="+code=parse" class="sref">par++a> =	0;7	 57 /a>  if er /a>( a href="get_">asm/una_be idn L32" class="get_">asm/una_be32">	 er /a>( a href="+code=parse" class="sref">par) &ddefine	 a href="+code=HEADER_HAS_FILTER" class="sref">HEADER_HAS_FILTen /a>)7	 58 /a>                 a href="+code=parse" class="sref">pars+= 8;  1 /a> spai class="comme flagsut filany infom*nt"> */ /spaio7	 58 /a>  5 /a>#else7	 58 /a>                 a href="+code=parse" class="sref">pars+= 4;  1 /a> spai class="comme flagsu*nt"> */ /spaio7	 61 /a>7	 60 /a>   1 /a> spai class="commet"> */ /spaio7	 28 /a> spai class="commmmmmmmmm* At leaic mef=, mtime_low,ee thline length,* lzochecksum mustt"> */ /spaio7	 29 /a> spai class="commmmmmmmmm* be left wribe sref"d.nt">also mtime_high ;th tes="c,e t's OKnt"> * /spaio7	 3e="a> spai class="commmmmmmmmm* becausRite tnext ;">0. buffny check ;thafany rass="h.  See the /spaio7	 31 /a> spai class="commmmmmmmmm* e thline lengthserved. /spaio7	 22 /a> spai class="commmmmmmmmm*nt"> */ /spaio7	 57 /a>  if er /a>( a href="+code=end" class="sref">en-        a href="+code=parse" class="sref">parscludd8 8 + 4 255 + 4)7	 58 /a>          bmit="r/a> =	0;7	 45 /a>7	 60 /a>   1 /a> spai class="comme srefhmef=* lzomtime_lowm*nt"> */ /spaio7	 57 /a>         a href="+code=parse" class="sref">pars+= 8;/spaio7	 57 /a>  if er /a>( a href="+code=vers .l" class="sref">vers n.h /=>   940en /a>)7	 58 /a>                 a href="+code=parse" class="sref">pars+= 4; a>   1 /a> spai class="comme srefhmtime_high *nt"> */ /spaio7	 45 /a>7	 57 /a>         a href="+code=l" class="sref"el 8 /a> * a href="+code=parse" class="sref">par++a> =	0;7	 60 /a>   1 /a> spai class="comme don't c Sofab; wi; see theline,* lzosrefhchecksum *nt"> */ /spaio7	 57 /a>  if er /a>( a href="+code=end" class="sref">en-        a href="+code=parse" class="sref">parscludd       a href="+code=l" class="sref"e4 255 + 4)7	 58 /a>          bmit="r/a> =	0;7	 57 /a>         a href="+code=parse" class="sref">pars+=        a href="+code=l" class="sref"e4 2a> =	0;7	 61 /a>7	 57 /a>  ,	int	* a href="+code=skip" class="sref">sknd /a> =	 a href="+code=parse" class="sref">pars-        a href="class="line" r10     a href="+code=u8" c5&6"
	  ="line" namon L4unl9zo.c#L8"9 idns="line1  a href="class="line" r10     a hreful, /spai0o7	 58 /1ode: /spaiio7	 54 /a> a href="+code=STATIC" class="sref">STATIC /a>	 a href="+code=inline" class="sref">inline /a>	int	 a href="+codnammonamon L60">	 60 nfor tode=parse_header" class="sref">parse_header /a>( a href="+code=u8" class="sref">u8 /a> * a hr class="line" n6mon L67">	 57 /a>  if er /a>( ," iidn L10" class="line" nammon ammu++a> =	0;io7( (void *, class="lia h)," iidn L10" class="line" nammon ammu*/ /spaioio7( (void *, class="lia h)," iidn L10" class="line" nammon ammu 255 + 4)io7parse_header /a>( a href="+/a>de=u8" class="sref/a>de=/a> * a href="+code=input"pos07on am7">	 57 /pos0a>( ," iidn L10" class="line" nammon ammur/a> =	0;io7INIT /erros /a>( (ne" n class67unlz172"xs="sref">INIT /x /a>(      a href="+code=l" class="sref"e2 of /spaiio7	 57 /a>  L57" class="linss="sref">INIT /ridn L49" class="line" namon L49">	 49 /a>#d1"> * /spaipaio7 * /spaipaio7	 57 /a>  if er /a>( ," iid="+code=skip" class="sref">skn"> * /spaipaio7	 59 /a>         a href=be idn L32" classube32">f er /a>( ," iid=rcL10" class="line" n=rcL10"">	 57 er /a>( ," iiddstL10" class="line" ndstL10"href="+code=u8" c5&6"
	  ="line" namon Lnlzo.c#L210" idn L20" class="line"1 namo12L60">	 60 /a>         a href* si_code=input"pos07* si_c32">f er /a>( ," iidtmcode=skip" classtmchref="+code=u8" c5&6"
	  ="line" namon Ln10ozo.c#L1" idn L21" class="line"1 namo12am1">	 57 /a>         a href="+code=u8" class="sref">u8 /a> * a hr cla_buf class="line" nammbuf">	 57>u8 /a> * a hr cla_buf_savde=inline" class="_buf_savd">	 57>u8 /a> * a hr con _buf class="line" non _bufhref="+code=u8" c5&6"
	  ="line" namon Lnlzo.c#L12"" idn L12" class="line" n     2298">	 57 /a>  if er /a>( ," iidrecode=input"pos07recef">skn-ful, /spai0o7	 53 /a>7( a hrefef="+code=input"pos07on am7">	 ++)a>[] = {7	 58 /a>                 a hrefon _buf class="line" non _bufhrefsknd /a> =	 a hrefef="+code=input"pos07on am7">	 ul, /spai0o7	 60 /a>}>  5 r  if!ush /a>( (void *, class="lia h)," iidn L10" cl)a>[] = {7	 58 /a>                 a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /NULL on am7 po  iere,* lno idn L fun	 forith videdincludent"> *ar)a> =	0;7	 58 /a>        goto          a href xicode=input"pos07 xic">	 ul, /spai0o7	 60 /a>}>  5 r)a>[] = {7	 58 /a>                 a hrefon _buf class="line" non _bufhrefsknd /a> =	 a hrefmallozop_magic" classmalloze_header /a>( a href="+code=LZO_BLOCK_SIZE" class="sref">LZO_BLOCK_ar)a> =	0;7	 58 /a>          if!ush /a>( (void on _buf class="line" non _bufhrefcl)a>[] = {7INI(   1 /a> spaiam ing"ess.c /C* Younot allozate on am7 . buffincludent"> *ar)a> =	0;7	 ul, /spai0o7	 58 /a>de: /spaiio7	 61 /a>7	 57 /a>  if er /a>( a href="+code=input" class="sref">in) &am) &ddefine	 a href class="lia h)," iidn L10" cl)a>[] = {7	 58 /a>                 a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /Botugh ;">0po  iere,* ldn L fun	 forith vided,me don'know we hopome includent"> *ar)a> =	0;7	 58 /a>        goto          a href xic_1ode=input"pos07 xic_1">	 ul, /spai0o7	 60 /a>}>  5 r  if er /a>( a href="+code=input" class="sref">icl)a>[] = {7	 58 /a>          8 /a>  a hrefla_buf class="line" nammbuf">	 arse /a> =	 a href="+code=input" class="sref">input /a>;7	 60 /a>}>  5 r  if!ush /a>( (void *class="lia h)," iidn L10" cl)a>[] = {7	 58 /a>                 a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /NULL h ;">0po  iere,* lmissss="dn L fun	 forincludent"> *ar)a> =	0;7	 ul, /spai0o7	 60 /a>}>  5 r)a>[] = {7	 58 /a>          8 /a>  a hrefla_buf class="line" nammbuf">	 arse /a> =	 a hrefmallozop_magic" classmalloze_header /a>( a hrefef">lzworst_="lib/de"+code=l" class=f">lzworst_="lib/dee_header /a>( a href="+code=LZO_BLOCK_SIZE" class="sref">LZO_BLOCK_aar)a> =	0;7	 58 /a>          if!ush /a>( (void la_buf class="line" nammbuf">	 cl)a>[] = {7	 58 /a>                         a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /C* Younot allozate t ;">0. buffincludent"> *ar)a> =	0;7	 58 /a>        " class=goto          a href xic_1ode=input"pos07 xic_1">	 ul, /spai0o7	 58 /a>        de: /spaiio7	 58 /a>de: /spaiio7	 60 /a> 8 /a> * a hr cla_buf_savde=inline" class="_buf_savd">	 arse /a> =	 a href="_buf class="line" nammbuf">	 ul, /spai0o7	 53 /a>7( a href0" class="line" nammon ammu of /spaiio7	 58 /a>        s0a>( ," iidn L10" class="line" nammon ammuskn"> * /spaipaio7	 61 /a>7	 57 /a>  if er /a>( a href*class="lia h)," iidn L10" cl)a>[] = {7	 58 /a>           1 /a> spai class="commet"> */ /spaio7	 29 /a> spai class="commmmmmmm        s Startborrowammbuf + ="sref">HEADER_opommakeene th ossib .lu2 of /spaio7	 3e="a> spai class="commmmmmmm        s pomcausmemcpy() pomeivedwi; unneus datat, writebeginning .lu2 of /spaio7	 31 /a> spai class="commmmmmmm        s  a copy. buff.ment">waysmemmove() isdon'9;nehe ihiit">lu2 of /spaio7	 22 /a> spai class="commmmmmmm        s t">missss="drrowib/-boot environass=the tmost arche details. /spaio7	 23 /a> spai class="commmmmmmm        s *nt"> */ /spaio7  a hrefla_buf class="line" nammbuf">	 ars+=        a href="+code=HEADER_SIZE_MAX" class="sref">HEADER_SIZE> * /spaipaio7	 58 /a>                 a href="+code=in_len" class="sref">in_s+=        a href*class="lia h)," iidn L10" f er /a>( a href="+buf class="line" nammbuf">	 57=        a href="+code=HEADER_SIZE_MAX" class="sref">HEADER_SIZEar)a> =	0;7	 58 /a>de: /spaiio7e: /spaiio7	 57 /a>!ush /a>( (void ="+code=parse_header" class="sref">parse_header /a>( a href="+buf class="line" nammbuf">	 57) &am er /a>( ," iid="+code=skip" class="sref">57=        a href="+code=in_len" class="sref">in_cl)a>[] = {7	 58 /a>                 a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /inaookuid parsincludent"> *ar)a> =	0;7	 58 /a>        goto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	 58 /a>de: /spaiio7	 60 /a> 8 /a> * a hr cla_buf class="line" nammbuf">	 ars+=        a href="+code=skip" class="sref">> * /spaipaio7	 58 /a>         a href="+code=in_len" class="sref">in_-s+=        a href="+code=skip" class="sref">> * /spaipaio7 * /spaipaio7	 60 /a>  if er /a>( a href*class="lia h)," iidn L10" cl)a>[] = {7	 58 /a>           1 /a> spai class="commMovedwi; unneus datat, writebeginning  a copy. buff.ms *nt"> */ /spaio7	 58 /a>                 a hrefmemcpyop_magic" classmemcpye_header /a>( a href="+buf_savde=inline" class="_buf_savd">	 57 er /a>( a href="+buf class="line" nammbuf">	 57=        a href="+code=in_len" class="sref">in_> * /spaipaio7	 58 /a>                 a hrefla_buf class="line" nammbuf">	 arse /a> =	 a href="+buf_savde=inline" class="_buf_savd">	 > * /spaipaio7	 59 /a>de: /spaiio7	 58 /a>  if er /a>( a href0" class="line" nammon ammu of /spaiio7( ," iidn L10" class="line" nammon ammuskn=        a href="+code=skip" class="sref">> * /spaipaio7	 53 /a>7	 58 /a>  cen;;cl)a>[] = {7	 58 /a>           1 /a> spai class="comme bmaun="lib/de publockm* sizs *nt"> */ /spaio7	 58 /a>          if er /a>( a href*class="lia h)," iidn L10" n) &am) &ddefine	 a href="+code=in_len" class="sref">in_lnclu4cl)a>[] = {7	 58 /a>                         a href="+code=skip" class="sref">sknd /a> =	 a href*class="lia h)," iidn L10" f er /a>( a href="+buf class="line" nammbuf">	 nput /a> +  a href="+code=in_len" class="sref">in, 4ars-        a href="+code=in_len" class="sref">in_> * /spaipaio7	 58 /a>                  if er /a>( a href="+code=skip" class="sref">s n.h 940en /a>)7	 58 /a>        " class=                 a href="+code=in_len" class="sref">in_rs+=        a href="+code=skip" class="sref">> * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>          ifddefine	 a href="+code=in_len" class="sref">in_lnclu4cl)a>[] = {7INI(   1 /a> spaiam ing"ess.c /see tcorruptedincludent"> *ar)a> =	0;7 * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>                 a hrefdstL10" class="line" ndstL10"hrefs nd /a> =	 a href="get_">asm/una_be idn L32" class="get_">asm/una_be32">	 er /a>( a hrefla_buf class="line" nammbuf">	 c> * /spaipaio7	 58 /a>          8 /a>  a hrefla_buf class="line" nammbuf">	 ars+=  * /spaipaio7	 58 /a>                 a href="+code=in_len" class="sref">in_-s+=  * /spaipaio7	 48 /a>7	 58 /a>           1 /a> spai class="comm xic   illeaiblockms *nt"> */ /spaio7	 58 /a>          ifddefine	 a hrefdstL10" class="line" ndstL10"hrefs = 94l)a>[] = {7	 58 /a>                  ifddefine	 a href0" class="line" nammon ammu of /spaiio7	 58 /a>        de: /spaiio7	 45 /a>7	 58 /a>          if er /a>( a hrefdstL10" class="line" ndstL10"hrefs n.h der /a>( a href="+code=LZO_BLOCK_SIZE" class="sref">LZO_BLOCK_al)a>[] = {7	 58 /a>                         a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /des At n nt">them 1 /blockm* siincludent"> *ar)a> =	0;7	 58 /a>                goto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	20L99">	 58 /a>        de: /spaiio7	 58 /a>           1 /a> spai class="comme bma="lib/de publockm* sine,* lzosreblockmfhchecksuy infom*nt"> */ /spaio7( a href*class="lia h)," iidn L10" n) &am) &ddefine	 a href="+code=in_len" class="sref">in_lnclu8al)a>[] = {7sknd /a> =	 a href*class="lia h)," iidn L10" f er /a>( a href="+buf class="line" nammbuf">	 nput /a> +  a href="+code=in_len" class="sref">in, 8ars-        a href="+code=in_len" class="sref">in_> * /spaipaio7p  if er /a>( a href="+code=skip" class="sref">s n.h 940en /a>)7I         a href="+code=in_len" class="sref">in_rs+=        a href="+code=skip" class="sref">> * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>          ifddefine	 a href="+code=in_len" class="sref">in_lnclu8al)a>[] = {7	 58 /a>                         a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /see tcorruptedincludent"> *ar)a> =	0;7	 58 /a>        " class=goto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>          8 /a>  a href=rcL10" class="line" n=rcL10"">	 s nd /a> =	 a href="get_">asm/una_be idn L32" class="get_">asm/una_be32">	 er /a>( a hrefla_buf class="line" nammbuf">	 c> * /spaipaio7  a hrefla_buf class="line" nammbuf">	 ars+= 8;/spaio7	 58 /a>                 a href="+code=in_len" class="sref">in_-s+= 8;/spaio7 * /spaipaio7	 58 /a>          if er /a>( a href=rcL10" class="line" n=rcL10"">	 slncl= 9 ||   8 /a>  a href=rcL10" class="line" n=rcL10"">	 s n.h der /a>( a hrefdstL10" class="line" ndstL10"hrefal)a>[] = {7	 58 /a>                         a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /see tcorruptedincludent"> *ar)a> =	0;7	 58 /a>        " class=goto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	 58 /a>        de: /spaiio7	 61 /a>7	 58 /a>           1 /a> spai class="commef="lib/defom*nt"> */ /spaio7	 58 /a>          if er /a>( a href*class="lia h)," iidn L10" n) &am) &ddefine	 a href="+code=in_len" class="sref">in_lnclu  8 /a>  a href=rcL10" class="line" n=rcL10"">	 al)a>[] = {7sknd /a> =	 a href*class="lia h)," iidn L10" f er /a>( a href="+buf class="line" nammbuf">	 nput /a> +  a href="+code=in_len" class="sref">in,   8 /a>  a href=rcL10" class="line" n=rcL10"">	 srs-        a href="+code=in_len" class="sref">in_> * /spaipaio7( a href="+code=skip" class="sref">s n.h 940en /a>)7in_rs+=        a href="+code=skip" class="sref">> * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>          if er /a>( a href="+code=in_len" class="sref">in_lnclu  8 /a>  a href=rcL10" class="line" n=rcL10"">	 al)a>[] = {7	 58 /a>                         a href class67unlz172"xs="sref">INI(   1 /a> spaiam ing"ess.c /see tcorruptedincludent"> *ar)a> =	0;7	 58 /a>                goto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>                 a hreftmcode=skip" classtmchrefsknd /a> =	 a hrefdstL10" class="line" ndstL10"href="+code=u8" c5&6"
	  ="line" namon 2nlzo.c#L421" idn L41" class="line"2 namo24L61">	 61 /a>7 spai class="commW Thecopyt ;">0datatisunot ="lib/de puat all2), Inc., /spaio7	 23 /a> spai class="commmmmmmm        s =f">lzef="lib/decsafe wn L fail, so callsmemcpy()), Inc., /spaio7	 24 /a> spai class="commmmmmmm        s inst bmaom*nt"> */ /spaio7	 58 /a>          if er /a>( a hrefompikelyop_magic" classompikely10" f er /a>( a hrefdstL10" class="line" ndstL10"hrefs =   8 /a>  a href=rcL10" class="line" n=rcL10"">	 a40en /a>)7	 58 /a>                         a hrefmemcpyop_magic" classmemcpye_header /a>( a hrefon _buf class="line" non _bufhref57 er /a>( a href="+buf class="line" nammbuf">	 57=        a href=rcL10" class="line" n=rcL10"">	 a="+code=u8" c5&6"
	  ="line" namon 2nun11o.c#27" idn L47" class="line"2 namo24785">	 58 /a>          5 r)a>[] = {7	 58 /a>                         a href" namon L49">	 49 /a>#d1         a href=f">lzef="lib/decsafe namon L49">	 4=f">lzef="lib/decsafee_heaader /a>( a href="+code=u8" class="sref">)7 er /a>( a href="+buf class="line" nammbuf">	 57=        a href=rcL10" class="line" n=rcL10"">	 r/a> =	0;io7	 58 /a>        " class=	 58 /a>                         a hrefon _buf class="line" non _bufhref57) &am er /a>( ," iidtmcode=skip" classtmchrefa="+code=u8" c5&6"
	  ="line" namon 2nlzo.c#L520" idn L50" class="line"2 namo25ammumer /spaioo7	 58 /a>                  ifddefine	 a href" namon L49">	 49 /a>#+ !d /a> =	 a href="srE_OKOCK_SIZE" class="srE_OK /a>#||   8 /a>  a hrefdstL10" class="line" ndstL10"hrefs+ !d /a> =	 a hreftmcode=skip" classtmchrefar)a>[] = {7INI(   1 /a> spaiam ing"ess.c /C"lib/de pudatatviola forincludent"> *ar)a> =	0;7 * /spaipaio7	 58 /a>        de: /spaiio7	 61 /a>7	 58 /a>          ifddefine	 a href*, class="lia h)," iidn L10" n) &am) &ddefine	 a href , class="lia h)," iidn L10" ader /a>( a hrefon _buf class="line" non _bufhref57 er /a>( a hrefdstL10" class="line" ndstL10"hrefal+ !d /a> =	 a hrefdstL10" class="line" ndstL10"hrefa	 61 /a>7	 58 /a>        class="sgoto          a href xic_e idn L32" class xic_eSIZE> * /spaipaio7	 58 /a>          if er /a>( a hrefef="+code=input"pos07on am7">	 + * /spaipaio7	 58 /a>                der /a>( a hrefon _buf class="line" non _bufhref_rs+=        a hrefdstL10" class="line" ndstL10"href="+code=u8" c5&6"
	  ="line" namon 2llzo.c#L521" idn L61" class="line"2 namo26L81">	 58 /a>          if er /a>( a href0" class="line" nammon ammu of /spaiio7( ," iidn L10" class="line" nammon ammusrs+  8 /a>  a href=rcL10" class="line" n=rcL10"">	 s+ 12="+code=u8" c5&6"
	  ="line" namon 2llzo.c#L423"6idn L53" class="line"2 n6mo26L53">	 53 /a>7  a hrefla_buf class="line" nammbuf">	 ars+=        a href=rcL10" class="line" n=rcL10"">	 ="+code=u8" c5&6"
	  ="line" namon 2llzo.c#L525"6idn L55" class="line"2 n6mo26L85">	 58 /a>                 a href="+code=in_len" class="sref">in_-s+=        a href=rcL10" class="line" n=rcL10"">	 ="+code=u8" c5&6"
	  ="line" namon 2llzo.c#L426"  idn L6" class="line"2 namo26681">	 58 /a>          if er /a>( a href*class="lia h)," iidn L10" ar)a>[] = {7	 58 /a>                   1 /a> spai class="commet"> */ /spaio7	 28 /a> spai class="commmmmmmmunlz172" clse" csd.ntthere happenst, wstn L b; unneus datate lefinmet"> */ /spaio7	 29 /a> spai class="commmmmmmm         clse" csdammbuf, moveene , writebeginning  a copy. buff.met"> */ /spaio7	 3e="a> spai class="commmmmmmm         clse" csdUse ateoop , waNIT /memmove() dependency.met"> */ /spaio7	 31 /a> spai class="commmmmmmm         clse" csm*nt"> */ /spaio7( a href="+code=in_len" class="sref">in_ln.h 940en /a>)7skn0lu  8 /a>  a href="+code=skip" class="sref">s nclu  8 /a>  a href="+code=in_len" class="sref">in; ++  8 /a>  a href="+code=skip" class="sref">40en /a>)7  a hrefla_buf_savde=inline" class="_buf_savd">	 [  8 /a>  a href="+code=skip" class="sref">]arse /a> =	 a href="_buf class="line" nammbuf">	 [  8 /a>  a href="+code=skip" class="sref">]="+code=u8" c5&6"
	  ="line" namon 2nl6o.c#L525"7idn L55" class="line"2 n7mo27void " class67unlz172"erross=  8 /a>  a hrefla_buf class="line" nammbuf">	 arse /a> =	 a href="+buf_savde=inline" class="_buf_savd">	 > * /spaipaio7	 58 /a>        de: /spaiio7	 58 /a>de: /spaiio7	 48 /a>7	 59 /a>         a hrefrecode=input"pos07recef">skn"> * /spaipaio7	 58 /a>  if!ush /a>( (void la+code=input" class="sref">ic * /spaipaio7( a href*rede=inline" class*red10" f er /a>( a href="+buf_savde=inline" class="_buf_savd">	 ar)a> =	0;7         a href xic_1ode=input"pos07 xic_1">	 : * /spaipaio7( (void on "+code=input"pos07on am7">	 + * /spaipaio7	 58 /a>         er /a>( a href*rede=inline" class*red10" f er /a>( a hrefon _buf class="line" non _bufhrefcr)a> =	0;7         a href xicode=input"pos07 xic">	 : * /spaipaio7	 58 /a>  a hre         a hrefrecode=input"pos07recef">r)a> =	0;7de: /spaiio7	 61 /a>7#defcla+=        a hrefdf="lib/de class="line" ndf="lib/de85">	 er /a>( a hrefompder" class="sref">parse_he	 61 /a>7
Topyoriginal LXR softw c Sbedwi; 61 /a>7LXR claunityhref57tnt">experiass=al ="sref"Sbed 61 /a>7lxr@ clux.nohref. lxr. clux.no kindly host puby 61 /a>7Redpn L Lclibo AShref57th vider a Lclux cnsulting ,* lopera fors services sinceo1 L5.