scripts/logging/fix-logs-all
bf79b581
 #!/bin/sh
 #
 # Usage: fix-logs-all [DIR]
 #
 # Fixes logging macros and messages in SER source files in DIR
 # directory (recursively).
 #
 # See doc/logging-api.txt and fix-logs script for details.
 #
 # $Id$
 
 # <filename>.ORIG backup files is created for each processed file.
 # If TEST is set, it only prints a "patch" file.
 #
 
 find ${1:-.} -type f \( -name "*.[chy]" -o -name "*.lex" -o -name "*.cc" \) | \
     grep -v "/dprint\.[hc]$" | \
 	while read file; do
 	    echo "=== $file"
 
 	    if ! test "$TEST"; then
 		mv "$file" "$file.ORIG"
 	    fi
 
 	    if expr match "$file" ".*/modules/" >/dev/null; then
 		module=$(basename $(dirname $file))
 	    fi
 
 	    if ! test "$TEST"; then
 		fix-logs "$module" < "$file.ORIG" > "$file"
 	    else
 		fix-logs "$module" < "$file" > "$file.NEW"
 
 		diff "$file.NEW" "$file"
 		rm "$file.NEW"
 	    fi
 	done