ó fc@sÚddlZddlZddlZddlTddlZejjZeZej jZ d„Z d„Z dZ d„Zd„Zd„Zd Zd Zd Zd Zd ZdZdZdZededeZdZdedZdeZedeZedeZeeeeefZddj eƒdZ!ej"e!ƒZ#eeefZ$ddj e$ƒdZ%ej"e%ƒZ&d„Z'd„Z(da)d„Z*da+d„Z,iZ-iZ.d„Z/e0dkrÖe ƒndS(iÿÿÿÿN(t*cCs‡tjd}td|dƒtdƒtdƒtdƒtdƒtdƒtdƒtd ƒtd ƒtd ƒtd ƒdS( NisUsage: s/ [-c] [-r] [-s file] ... file-or-directory ... s s*-c : substitute inside comments s:-r : reverse direction for following -s options s+-s substfile : add a file of substitutions s<Each non-empty non-comment line in a substitution file must s>contain exactly two words: an identifier and its replacement. s:Comments start with a # character and end at end of line. s=If an identifier is preceded with a *, it is not substituted s,inside a comment even when -c is specified. (tsystargvterr(tprogname((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pytusage/s           cCsqy#tjtjddƒ\}}WnBtjk rg}tdt|ƒdƒtƒtjdƒnXd}|s‹tƒtjdƒnxY|D]Q\}}|dkr´tƒn|dkrÊt ƒn|d kr’t |ƒq’q’Wxv|D]n}t j j |ƒrt|ƒr\d}q\qît j j|ƒrGt|d ƒd}qît|ƒrîd}qîqîWtj|ƒdS( Niscrs:sOptions error: s iis-cs-rs-ss": will not process symbolic links (tgetoptRRterrorRtstrRtexitt setdocommentst setreversetaddsubsttostpathtisdirt recursedowntislinktfix(toptstargstmsgtbadtopttarg((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pytmain>s6#         s^[a-zA-Z0-9_]+\.[ch]$cCstjt|ƒS(N(tretmatchtWanted(tname((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pytwanted\scCs9td|fƒd}ytj|ƒ}Wn3tjk r_}t|dt|ƒdƒdSX|jƒg}xœ|D]”}|tjtjfkr›qwntj j ||ƒ}tj j |ƒrÅqwtj j |ƒrç|j |ƒqwt|ƒrwt|ƒr d}q qwqwWx#|D]}t|ƒrd}qqW|S(Nsrecursedown(%r) is: cannot list directory: s i(tdbgR tlistdirRRRtsorttcurdirtpardirRtjoinRRtappendRRR(tdirnameRtnamesRtsubdirsRtfullname((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyR_s0      c Cs-|dkr!tj}tj}n}yt|dƒ}Wn0tk rf}t|dt|ƒdƒdSXtjj |ƒ\}}tjj |d|ƒ}d}d}t ƒxV|j ƒ}|sÄPn|d}x>|dd kr|j ƒ} | s÷Pn|| }|d}qÑWt|ƒ} | |krä|dkr±yt|d ƒ}Wn:tk r‚}|jƒt|d t|ƒdƒdSX|jdƒd}t ƒt|d ƒq®ntt|ƒdƒtd |ƒtd| ƒn|dk r®|j| ƒq®q®W|dkrdS|jƒ|s(dS|jƒy+tj|ƒ} tj|| td@ƒWn2tjk r‘}t|dt|ƒdƒnXytj||dƒWn2tjk rÞ}t|dt|ƒdƒnXytj||ƒWn3tjk r(}t|dt|ƒdƒdSXdS(Nt-trs: cannot open: s it@iiþÿÿÿs\ tws: cannot create: s: s< s> iÿs: warning: chmod failed (s) t~s: warning: backup failed (s: rename failed ((RtstdintstdouttopentIOErrorRRR RtsplitR$tNonet initfixlinetreadlinetfixlinetclosetseektreptreprtwritetstattchmodtST_MODERtrename( tfilenametftgRtheadttailttempnametlinenotlinetnextlinetnewlinetstatbuf((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyRus‚                  s (struct )?[a-zA-Z_][a-zA-Z0-9_]+s"([^\n\\"]|\\.)*"s'([^\n\\']|\\.)*'s/\*s\*/s0[xX][0-9a-fA-F]*[uUlL]*s0[0-7]*[uUlL]*s[1-9][0-9]*[uUlL]*t|s[eE][-+]?[0-9]+s([0-9]+\.[0-9]*|\.[0-9]+)(s)?s[0-9]+t(t)cCs tadS(N(tOutsideCommentProgramtProgram(((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyR5ßscCs7d}x*|t|ƒkr2tj||ƒ}|dkr=Pn|jƒ}|jdƒ}t|ƒdkr—|dkrtaq—|dkr—taq—nt|ƒ}|tkr%t|}ttkrüt sädG|GH||}q n|t krü|}qün|| ||||}t|ƒ}n||}q W|S(Niis/*s*/sFound in comment:( tlenRPtsearchR4tstarttgrouptInsideCommentProgramROtDictt Docommentst NotInComment(RHtiRtfoundtntsubst((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyR7ãs4              icCs dadS(Ni(RW(((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyR scCs t adS(N(tReverse(((s,/usr/lib64/python2.7/Tools/scripts/fixcid.pyR sc Csþyt|dƒ}Wn<tk rQ}t|dt|ƒdƒtjdƒnXd}x•|jƒ}|sqPn|d}y|jdƒ}Wntk r§d}nX|| j ƒ}|sÄq[nt |ƒdkr|dd kr|dd |dg|d *n3t |ƒd kr9t|d |||fƒq[nt rN|\}}n |\}}|dd krw|d}n|dd krž|d}|t |%sX            P   '   %