tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
]\¬Qc@s¹dZdZdZddlZejdddƒddlZddlZddlmZddl    Z    ddl
Z
d    Z d
Z d Z d d „Zddd„ƒYZddd„ƒYZdS(s5codefragments.py -- wrapper to modify code fragments.s0.8b3tjvriÿÿÿÿNs6the cfmfile module is deprecated and is removed in 3,0t
stackleveli(tResis    cfm.erroritfatc Csft|ƒ}x4tt|ƒƒD] }tjj||ƒ||<qWtjj|ƒ}t|dƒ}tj|dƒ}zÏt    ƒ}xŠ|D]‚}t    |ƒ}xm|j
D]b}    |    j dkrÌ|dkrÌq¥n|    j dkrí|dkríq¥n|j |    ƒ|    j |ƒq¥Wq‰Wtj|jƒƒ}
tj|ƒ|
jdddƒWd|jƒtj|ƒ}XdS(    s\Merge all files in srclist into a new file dst.
 
    If architecture is given, only code fragments of that type will be used:
    "pwpc" for PPC, "m68k" for cfm68k. This does not work for "classic"
    68k code, since it does not use code fragments to begin with.
    If architecture is None, all fragments will be used, enabling FAT binaries.
    twbitpwpctm68ktcfrgitN(tlisttrangetlentCarbontFiletpathnametopenRtFSpOpenResFilet CfrgResourcet    fragmentst architecturetappendtcopydatatResourcetbuildt
UseResFilet AddResourcetcloset CloseResFile( tsrclisttdstRtitdstfiletrftdstcfrgtsrctsrccfrgtfragtcfrgres((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyt mergecfmfiless,             
RcBs/eZdd„Zd„Zd„Zd„ZRS(cCs÷d|_g|_||_|dk    rótjj|ƒrótjƒ}tj|dƒ}tj    |ƒzFytj
ddƒj }Wn&tj k
r¨tj dt j‚nXWdtj|ƒtj    |ƒX|j|ƒ|jdkrótd‚qóndS(NiRisno 'cfrg' resource foundsunknown 'cfrg' resource format(tversionRtpathtNonetostexistsRt
CurResFileRRt Get1ResourcetdatatErrortsyst exc_tracebackRtparseterror(tselfR(t currentresreftresrefR.((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyt__init__?s"                c    Cs~tjd|d ƒ\}}|_}}}}|_|d}x9|ryt|j|ƒ}||j}|jj|ƒqAWdS(Nt8li (    tstructtunpackR't memberCounttFragmentDescriptorR(t
memberSizeRR(    R4R.tres1tres2tres3tres4tres5tres6R$((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR2Ss 4
     c
Csgt|jƒ|_tjddd|jdddd|jƒ    }x!|jD]}||jƒ}qIW|S(NR8i(R RR;R9tpackR'R(R4R.R$((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR]s
-cCs|jj|ƒdS(N(RR(R4R$((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyRdsN(t__name__t
__module__R)R7R2RR(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR=s     
   R<cBs8eZdd„Zd„Zd„Zd„Zd„ZRS(cCs)||_|dk    r%|j|ƒndS(N(R(R)R2(R4R(R.((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR7js     c Cs |d |_tjd|dd!ƒ\ |_|_|_|_|_|_|_    |_
|_ |_ |_ |_|d|j!}|ddt|dƒ!|_dS(Nit4lhBB4lhi*ii(RR9R:t updateleveltcurrentVersiont oldDefVersiont    stacksizet    applibdirtfragtypetwheretoffsettlengthR>R?R=tordtname(R4R.tpname((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR2os acCsþ|j}|tjd|j|j|j|j|j|j|j    |j
|j |j |j ƒ }t|ƒddt|jƒ|_|jdr­|jd|jd|_n|tjd|jt|jƒƒ}||j}|d|jt|ƒ}|S(Nt4lhBB4liiithbt(RR9RDRHRIRJRKRLRMRNRORPR>R?R RRR=(R4R.((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyRs&     $ % cCsu|jdkrtd‚nt|jdƒ}|j|jƒ|jr[|j|jƒ}n |jƒ}|jƒ|S(Nis)can't read fragment, unsupported locationtrb(    RNR3RR(tseekRORPtreadR(R4tfR$((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyt getfragment•s      
cCs|jdkrtd‚nt|jdƒ}|jdkr^|jddƒ|jƒ|_n|j|jƒ|jƒ}|dr™|d|d}n|j|ƒ||_|j}xU|r|tkrð|j    |j
tƒƒ|t}q»|j    |j
|ƒƒd}q»W|j ƒdS(Nis)can't read fragment, unsupported locationRWiii( RNR3RR(RPRXttellROtBUFSIZEtwriteRYR(R4toutfiletinfileROtl((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR¡s(  
               
N(RERFR)R7R2RR[R(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyR<hs
              (((t__doc__t __version__t
__author__twarningstwarnpy3kt Carbon.FileR R9RR*R0tDEBUGR3R]R&RR<(((sX/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/plat-mac/cfmfile.pyt<module>s        %+