From 7dd984ccf3915a203716b43681481a96d6c6c6e8 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 23 Jul 2002 12:50:28 +0000 Subject: [PATCH] jcs: Setval added support for keys with spaces --- scripts/jcs | 42 +++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/scripts/jcs b/scripts/jcs index 32767480..d9b148e2 100644 --- a/scripts/jcs +++ b/scripts/jcs @@ -1247,11 +1247,11 @@ if [ $# != 3 ] ; then usage exit 0 fi -if [ ! -e $1 ] ; then +if [ ! -e "$1" ] ; then echo $1 not found. Exiting. exit 1 fi -if [ ! -w $1 ] ; then +if [ ! -w "$1" ] ; then echo $1 is not a writable file. Exiting. exit 1 fi @@ -1262,8 +1262,8 @@ echo -n " + $1: set $2 to $3 ... " MYNAME=`basename $0` WD=`/bin/pwd` DATE=`date` -test -e $1.$MYNAME && rm $1.$MYNAME -grep $2 $1 >/dev/null 2>&1 || cat << EOF >> $1 +test -e "$1".$MYNAME && rm "$1".$MYNAME +grep "$2" "$1" >/dev/null 2>&1 || cat << EOF >> "$1" # # added by $MYNAME on $DATE # called from within $WD @@ -1280,26 +1280,38 @@ if echo "$3" grep -e " \|\t" >/dev/null 2>&1 ; then else VAL="$3" fi -awk 'BEGIN {FS = "="} - $1 == key { if ($2$3$4$5$6$7$8$9$10$11$12$13$14$15$16 != val) { +awk ' +BEGIN { + FS = "=" +} +{ + left=$1 + sub(/^ */,"",left) + sub(/ *$/,"",left) + if (left == key) { + if ($2$3$4$5$6$7$8$9$10$11$12$13$14$15$16 != val) { print key"="val >> outfile changed = changed $2 "-->" val" " ++occ next } - } - { print >> outfile } - END { print "changed " (occ ? occ " occurence: " changed : "nothing."); - exit occ } - ' \ - key=$2 val="$VAL" outfile="$1.$MYNAME" "$1" + } + { + print >> outfile + } +} +END { + print "changed " (occ ? occ " occurence: " changed : "nothing."); + exit occ +} ' \ + key="$2" val="$VAL" outfile="$1.$MYNAME" "$1" if [ ! $? = 0 ] ; then - mv $1.$MYNAME $1 + mv "$1".$MYNAME "$1" mkdir -p $cfg_jcs_log_dir - echo $1 >> $cfg_jcs_log_dir/changed_files.log + echo "$1" >> $cfg_jcs_log_dir/changed_files.log else - rm $1.$MYNAME + rm "$1".$MYNAME fi } # end function jcs_setval