Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Aug 2008 13:44:27 GMT
From:      Marko Zec <zec@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 147645 for review
Message-ID:  <200808171344.m7HDiR0Z024586@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=147645

Change 147645 by zec@zec_tpx32 on 2008/08/17 13:44:00

	A placeholder for writing down things to resolve before
	proceeding on further commit steps.

Affected files ...

.. //depot/projects/vimage-commit2/TODO#1 add
.. //depot/projects/vimage/var_rename.tcl#2 edit

Differences ...

==== //depot/projects/vimage/var_rename.tcl#2 (text+ko) ====

@@ -37,6 +37,10 @@
 # containing macros which resolve V_ instances back to their original
 # counterparts (e.g. V_rt_tables -> rt_tables).
 #
+# Alternatively, the script may be invoked in a hint-only mode, so that
+# instead of actually modifying files it prints out lines where candidates
+# for the V_-transformation might be found.
+#
 # Best effort is made not to change any variable declarations nor field
 # names in structure declarations and / or C-style comments.  The script
 # attempts to avoid changing structure names if they happen to have the
@@ -44,7 +48,7 @@
 #
 # Typically this script should be invoked as follows:
 #
-# cat vimage_globals | xargs var_rename.tcl sys
+# cat vimage_globals | xargs var_rename.tcl change sys
 #
 # Note that running the script over the entire sys tree can take a
 # significant amount of time to complete (longer than make buildworld).
@@ -52,18 +56,25 @@
 
 set vimage_h "vimage.h"
 
-if { [llength $argv] < 2 } {
-    puts "usage: var_rename.tcl srcdir varname ..."
+if { [llength $argv] < 3 || ([lindex $argv 0] != "hint" &&
+    [lindex $argv 1] != "change")} {
+    puts "usage: var_rename.tcl hint|change srcdir varname ..."
     exit 1
 }
 
-set srcdir [lindex $argv 0]
+if { [lindex $argv 0] == "change" } {
+    set change_mode 1
+} else {
+    set change_mode 0
+}
+
+set srcdir [lindex $argv 1]
 if { [catch { exec find $srcdir -type f } filelist] != 0 } {
     puts "Error: $filelist"
     exit 1
 }
 
-set items [lrange $argv 1 end]
+set items [lrange $argv 2 end]
 set xitems "/* */ LIST_HEAD( TAILQ_HEAD( SYSCTL_ ) [lsort -decreasing [lrange $argv 1 end]]"
 
 # read the contents of the $vimage_h file
@@ -73,13 +84,15 @@
 close $f
 
 # reopen for writing and append missing #defines
+if { $change_mode } {
 set f [open $vimage_h a]
-foreach item $items {
-    if { [string first "#define V_$item $item" $data] == -1 } {
-	puts $f "#define V_$item $item"
+    foreach item $items {
+	if { [string first "#define V_$item $item" $data] == -1 } {
+	    puts $f "#define V_$item $item"
+	}
     }
+    close $f
 }
-close $f
 
 # walk the file list parsing each file and update it if necessary
 foreach fname $filelist {
@@ -104,13 +117,15 @@
 	puts "Processing $fname"
     }
 
-    set f [open $fname w]
-    set first_line true
+    if { $change_mode } {
+	set f [open $fname w]
+    }
+
     set changed false
-
     set in_comment false
     set in_struct false
     set in_forbidden_macro false
+    set line_number 0
 
     foreach line [split $data \n] {
 	set pos 0
@@ -239,14 +254,23 @@
 	    }
 	}
 
-	if { $first_line == true } {
-	    set first_line false
+	if { $change_mode } {
+	    if { $line_number > 0 } {
+		puts $f ""
+	    }
+	    puts -nonewline $f "$line"
 	} else {
-	    puts $f ""
+	    # hint only mode
+	    if { $changed == true } {
+		puts "$line_number:$line"
+		set changed false
+	    }
 	}
-        puts -nonewline $f "$line"
+	incr line_number
+    }
+    if { $change_mode } {
+	close $f
     }
-    close $f
 
     # insert a #include <sys/vimage.h> line if the file was modified.
     if { $changed == true && $fextn == ".c" } {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808171344.m7HDiR0Z024586>