???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ó
fc           @   sÚ  d  d l  Z  d  d l Z d  d l Z d  d l Td  d l Z e  j j Z e Z e  j	 j Z
 d „  Z d „  Z d Z d „  Z d „  Z d „  Z d	 Z d
 Z d Z d Z d Z d Z d Z d Z e d e d e Z d Z d e d Z d e Z e d e Z e d e Z e e e e e f Z d d j  e ƒ d Z! e j" e! ƒ Z# e e e f Z$ d d j  e$ ƒ d Z% e j" e% ƒ Z& d „  Z' d „  Z( d a) d „  Z* d a+ d „  Z, i  Z- i  Z. d „  Z/ e0 d k rÖe ƒ  n  d S(   iÿÿÿÿN(   t   *c          C   s‡   t  j d }  t d |  d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d ƒ t d	 ƒ t d
 ƒ t d ƒ t d ƒ d  S(   Ni    s   Usage: 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.
(   t   syst   argvt   err(   t   progname(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyt   usage/   s    









c          C   sq  y# t  j  t j d d ƒ \ }  } WnB t  j k
 rg } t d t | ƒ d ƒ t ƒ  t j d ƒ n Xd } | s‹ t ƒ  t j d ƒ n  xY |  D]Q \ } } | d k r´ t ƒ  n  | d k rÊ t	 ƒ  n  | d	 k r’ t
 | ƒ q’ q’ Wxv | D]n } t j j | ƒ rt | ƒ r\d } q\qî t j j | ƒ rGt | d
 ƒ d } qî t | ƒ rî d } qî qî Wt j | ƒ d  S(   Ni   s   crs:s   Options error: s   
i   i    s   -cs   -rs   -ss"   : will not process symbolic links
(   t   getoptR   R   t   errorR   t   strR   t   exitt   setdocommentst
   setreverset   addsubstt   ost   patht   isdirt   recursedownt   islinkt   fix(   t   optst   argst   msgt   badt   optt   arg(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyt   main>   s6    #

 	 s   ^[a-zA-Z0-9_]+\.[ch]$c         C   s   t  j t |  ƒ S(   N(   t   ret   matcht   Wanted(   t   name(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyt   wanted\   s    c         C   s9  t  d |  f ƒ d } y t j |  ƒ } Wn3 t j k
 r_ } t |  d t | ƒ d ƒ d SX| j ƒ  g  } xœ | D]” } | t j t j f k r› qw n  t j	 j
 |  | ƒ } t j	 j | ƒ rÅ qw t j	 j | ƒ rç | j | ƒ qw t | ƒ rw t | ƒ rd } qqw qw Wx# | D] } t | ƒ rd } qqW| S(   Ns   recursedown(%r)
i    s   : cannot list directory: s   
i   (   t   dbgR   t   listdirR   R   R   t   sortt   curdirt   pardirR   t   joinR   R   t   appendR   R   R   (   t   dirnameR   t   namesR   t   subdirsR   t   fullname(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR   _   s0    
    c         C   s-  |  d k r! t  j } t  j } n} y t |  d ƒ } Wn0 t k
 rf } t |  d t | ƒ d ƒ d SXt j j	 |  ƒ \ } } t j j
 | d | ƒ } d  } d } t ƒ  xV| j ƒ  } | sÄ Pn  | d } x> | d d	 k r| j ƒ  }	 |	 s÷ Pn  | |	 } | d } qÑ Wt | ƒ }
 |
 | k rä| d  k r±y t | d
 ƒ } Wn: t k
 r‚} | j ƒ  t | d t | ƒ d ƒ d SX| j d ƒ d } t ƒ  t |  d ƒ q® n  t t | ƒ d ƒ t d | ƒ t d |
 ƒ n  | d  k	 r® | j |
 ƒ q® q® W|  d k rd S| j ƒ  | s(d S| j ƒ  y+ t j |  ƒ } t j | | t d @ƒ Wn2 t j k
 r‘} t | d t | ƒ d ƒ n Xy t j |  |  d ƒ Wn2 t j k
 rÞ} t |  d t | ƒ d ƒ n Xy t j | |  ƒ Wn3 t j k
 r(} t |  d t | ƒ d ƒ d SXd S(   Nt   -t   rs   : cannot open: s   
i   t   @i    iþÿÿÿs   \
t   ws   : cannot create: s   :
s   < s   > iÿ  s   : warning: chmod failed (s   )
t   ~s   : warning: backup failed (s   : rename failed ((   R   t   stdint   stdoutt   opent   IOErrorR   R   R   R   t   splitR$   t   Nonet   initfixlinet   readlinet   fixlinet   closet   seekt   rept   reprt   writet   statt   chmodt   ST_MODER   t   rename(   t   filenamet   ft   gR   t   headt   tailt   tempnamet   linenot   linet   nextlinet   newlinet   statbuf(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR   u   s‚    	 
 

 
 
  s    (struct )?[a-zA-Z_][a-zA-Z0-9_]+s   "([^\n\\"]|\\.)*"s   '([^\n\\']|\\.)*'s   /\*s   \*/s   0[xX][0-9a-fA-F]*[uUlL]*s   0[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   )c           C   s
   t  a d  S(   N(   t   OutsideCommentProgramt   Program(    (    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR5   ß   s    c         C   s7  d } x*| t  |  ƒ k  r2t j |  | ƒ } | d  k r= Pn  | j ƒ  } | j d ƒ } t  | ƒ d k r— | d k r t a q— | d k r— t a q— n  t  | ƒ } | t k r%t | } t t k rü t	 sä d G| GH| | } q	 n  | t
 k rü | } qü n  |  |  | |  | | }  t  | ƒ } n  | | } q	 W|  S(   Ni    i   s   /*s   */s   Found in comment:(   t   lenRP   t   searchR4   t   startt   groupt   InsideCommentProgramRO   t   Dictt
   Docommentst   NotInComment(   RH   t   iR   t   foundt   nt   subst(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR7   ã   s4     	
	
i    c           C   s
   d a  d  S(   Ni   (   RW   (    (    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR
     s    c           C   s   t  a  d  S(   N(   t   Reverse(    (    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR     s    c   	      C   sþ  y t  |  d ƒ } Wn< t k
 rQ } t |  d t | ƒ d ƒ t j d ƒ n Xd } x•| j ƒ  } | sq Pn  | d } y | j d ƒ } Wn t k
 r§ d } n X| |  j	 ƒ  } | sÄ q[ n  t
 | ƒ d k r| d d	 k r| d d
 | d g | d *n3 t
 | ƒ d k r9t |  d |  | | f ƒ q[ n  t rN| \ } } n | \ } } | d d k rw| d } n  | d d k rž| d } | t | <n  | t k rât d |  | | | f ƒ t d |  | t | f ƒ n  | t | <q[ W| j ƒ  d  S(   NR+   s   : cannot read substfile: s   
i   i    t   #iÿÿÿÿi   t   structt    i   s   %s:%r: warning: bad line: %rR    s"   %s:%r: warning: overriding: %r %r
s   %s:%r: warning: previous: %r
(   R1   R2   R   R   R   R	   R6   t   indext
   ValueErrorR3   RQ   R]   RX   RV   R8   (	   t	   substfilet   fpR   RG   RH   RY   t   wordst   valuet   key(    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyR     sH     

 " 
t   __main__(1   R   R   R   R=   R   t   stderrR<   R   R   R0   R:   R   R   R   R   R   R   t
   Identifiert   Stringt   Chart   CommentStartt
   CommentEndt	   Hexnumbert	   Octnumbert	   Decnumbert	   Intnumbert   Exponentt
   Pointfloatt   Expfloatt   Floatnumbert   Numbert   OutsideCommentR$   t   OutsideCommentPatternt   compileRO   t   InsideCommentt   InsideCommentPatternRU   R5   R7   RW   R
   R]   R   RV   RX   R   t   __name__(    (    (    s,   /usr/lib64/python2.7/Tools/scripts/fixcid.pyt   <module>%   sX   
					P
		'			%