~ubuntu-branches/ubuntu/feisty/clamav/feisty

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/utils/DSAclean.py

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2007-02-20 10:33:44 UTC
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20070220103344-zgcu2psnx9d98fpa
Tags: upstream-0.90
ImportĀ upstreamĀ versionĀ 0.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#! /usr/bin/python
2
 
 
3
 
#changelog: 
4
 
#10/13/2005b: replaced the # in tmp(.#*)* with alphanumeric and _, this will then remove
5
 
#nodes such as %tmp.1.i and %tmp._i.3
6
 
#10/13/2005: exntended to remove variables of the form %tmp(.#)* rather than just 
7
 
#%tmp.#, i.e. it now will remove %tmp.12.3.15 etc, additionally fixed a spelling error in
8
 
#the comments
9
 
#10/12/2005: now it only removes nodes and edges for which the label is %tmp.# rather
10
 
#than removing all lines for which the lable CONTAINS %tmp.#
11
 
import re
12
 
import sys
13
 
if( len(sys.argv) < 3 ):
14
 
        print 'usage is: ./DSAclean <dot_file_to_be_cleaned> <out_put_file>'
15
 
        sys.exit(1)
16
 
#get a file object
17
 
input = open(sys.argv[1], 'r')
18
 
output = open(sys.argv[2], 'w')
19
 
#we'll get this one line at a time...while we could just put the whole thing in a string
20
 
#it would kill old computers
21
 
buffer = input.readline()
22
 
while buffer != '':
23
 
        if re.compile("label(\s*)=(\s*)\"\s%tmp(.\w*)*(\s*)\"").search(buffer):
24
 
                #skip next line, write neither this line nor the next
25
 
                buffer = input.readline()
26
 
        else:
27
 
                #this isn't a tmp Node, we can write it
28
 
                output.write(buffer)
29
 
        #prepare for the next iteration
30
 
        buffer = input.readline()
31
 
input.close()
32
 
output.close()