jcs: Setval added support for keys with spaces

This commit is contained in:
Jan Lindemann 2002-07-23 12:50:28 +00:00 committed by Jan Lindemann
commit 7dd984ccf3

View file

@ -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