File: genmsgidx

package info (click to toggle)
tiger 2.2.4-22
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,188 kB
  • ctags: 240
  • sloc: sh: 8,388; ansic: 2,109; makefile: 141; perl: 106
file content (92 lines) | stat: -rwxr-xr-x 1,575 bytes parent folder | download
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
#     Please see the file `COPYING' for the complete copyright notice.
#
# genmsgidx  - 06/14/93
#
#-----------------------------------------------------------------------------

basedir=${TIGERHOMEDIR:=.}

for parm
do
   case $parm in
   -B) basedir=$2; break;;
   esac
done

BASEDIR=${BASEDIR:=$basedir}
export BASEDIR

findcmd()
{
  CMD=$1

  SRCH=/usr/ucb:/usr/bin:/bin:/etc:/usr/etc
  
  SAVEIFS=$IFS
  IFS=:
  set $SRCH
  IFS=$SAVEIFS
  for dir
  do
    [ $TESTEXEC $dir/$CMD ] && {
      echo $dir/$CMD
      return
    }
  done
}

haveallof()
{
  retval=0
  what=$1
  shift
  for file
  do
    eval cmd=\$$file
    [ ! -n "$cmd" ] && {
      echo "--CONFIG-- Don't have all required $what (missing $file)"
      retval=1
    }
  done
  return $retval
}

TESTEXEC=-x
( [ $TESTEXEC /bin/sh ] ) 2> /tmp/te.$$
[ -s /tmp/te.$$ ] && TESTEXEC=-f
export TESTEXEC

RM=`findcmd rm`
[ -n "$RM" ] && $RM /tmp/te.$$
AWK=`findcmd awk`
BASENAME=`findcmd basename`
CHMOD=`findcmd chmod`

haveallof commands AWK BASENAME || exit 1
haveallof variables BASEDIR || exit 1

for infile
do
  file=`$BASENAME $infile`
  $AWK '
  BEGIN {start=0}
  /^%.*/ {
    if(start)
       printf("%s %s %d %d\n", key, "'$file'", start+1, NR-1);
    start=NR;
    key=substr($0, 2, length($0)-1);
  }
  END { printf("%s %s %d $\n", key, "'$file'", start+1); }
  ' $infile
done > $BASEDIR/doc/explain.idx

status=$?

$CHMOD 644 $BASEDIR/doc/explain.idx

exit $status