File: errorfix.sh

package info (click to toggle)
gnuplot 3.7.1p1-4
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,808 kB
  • ctags: 4,418
  • sloc: ansic: 43,279; lisp: 661; makefile: 647; asm: 539; sh: 416; objc: 379; csh: 297; pascal: 194; perl: 138
file content (45 lines) | stat: -rwxr-xr-x 1,186 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#! /bin/sh
#
# $Id: errorfix.sh,v 1.5 1998/11/20 12:20:28 lhecking Exp $
#
# shell script to change #error and #warn cpp statements. This is necessary
# for the crippled non-ANSI compiler that HP ships with it's standard
# distribution, at least in <=9.0 for m68k
#
# this needs to be run once in gnuplot directory

dir="$1" && test ${dir} || dir=.

if [ "$dir" = . ] ; then
  mkdirs=false
  backup=true
else
  mkdirs=true
  backup=false
fi

for i in `cd $dir && find . \( -name "*.c" -o -name "*.h" -o -name "*.trm" \) -print` ; do
  grep "^#[ 	]*[ew][ar]" ${dir}/${i} >/dev/null 2>&1
  if [ $? -eq 0 ]; then
    # found #error or #warning
    sed -e 's%^#\([ 	]*error\)%\1%' \
        -e 's%^\(#[ 	]*warning.*\)$%/* \1 */%' $dir/$i >.tmp
    if $mkdirs ; then
      dirnew=`echo $i | sed -n 's%^\./\([^/]*\)/.*$%\1%p'`
      if [ x"$dirnew" != x ]; then
        mkdir ${dirnew}
      fi
    fi
    if $backup && [ ! -r $dir/$i.dist ]; then
      mv $dir/$i $dir/$i.dist
    fi
    suffix=`echo $i | awk -F\. '{print $NF}'`
    if [ $suffix = h ]; then
      test -r $dir/$i && mv $dir/$i $dir/$i.dist
      mv .tmp $dir/$i
    else
      mv .tmp $i
    fi
    echo fixed $i
  fi
done