awk add log for c++

来源:互联网 发布:netty rpc 网络 编辑:程序博客网 时间:2024/06/05 16:27

for f in `find  ../try1/mozilla-central/xpfe/appshell/src/ -type f |egrep -e '/.(h|cpp)'` ; do awk -f addlog $f  > $f.ok; mv $f.ok $f;done

 

 

#! /usr/bin/awk


BEGIN {
    add = 0
# addr = 0
    line = 1
 line1 = 0
 line2 = 0
 line3 = 0
 line4 = 0
 line5 = 0
 line6 = 0
}

{
#  print "line=",line
#  print "add =",add
  if (add)
  {
      print "#ifdef DEBUG"
      print "    printf(/"enter %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
      print "#endif"
      add = 0
#   addr = 1
   line1 = 0
   line2 = 0
   line3 = 0
   line4 = 0
   line5 = 0
   line6 = 0
#      print "after addlog add= ",add
  }

  if ( line == line3+1 )
  {
        add = 0
          line1 = 0
          line2 = 0
          line3 = 0
          line4 = 0
          line5 = 0
          line6 = 0   
  }
#  if (( index($0,"return") > 1 && index($0,"return") < 5 && addr == 1))
#  {
#   addr = 0
#       print "#ifdef DEBUG"
#    print "    printf(/"leave %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
# print "#endif"
#  }

#  if ( index($0,"}") == 1 && addr == 1)
#  {
#      addr = 0
#        print "#ifdef DEBUG"
#        print "    printf(/"leave %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
#        print "#endif"
#  }

  print $0
 
  if ( index($0,"::") > 0 )
  {
      line1 = line
  }
#  print "line1=",line1

  if ( index($0,"(") > 0 )
  {
      line2 = line
  }
#  print "line2=",line2

  if ( index($0,"{") == 1 )
  {
      line3 = line
  }
  if ( index($0,"}") > 1)
  {
      line4 = line
  }
  if ( match($0,"//") )
  {
      line1 = 0
      line2 = 0
      line3 = 0
      line4 = 0
      line5 = 0
      line6 = 0
  }
  if (match($0,/class|enum|struct|static const|/[/] =/) )
  {
      line6 = line
  }

  if ( index($0,"}") == 1 )
  {
      line1 = 0
   line2 = 0
   line3 = 0
   line4 = 0
   line5 = 0
   line6 = 0
  }


#print "line3=",line3
  if( (line2 >= line1 && line2 <= line1+5) && line1 > 0 )
  {
     if( line3 > line2)
     {
   if( line4 != line3 && line3 != line5 && line3 != line6+1 )
   {
             add = 1;
   }
     }
  }
  line++
}

END{
    add = 0
    exit 0;
}

 

原创粉丝点击