findlinks, mklinks, mdw-setup: Spruce up style.
[cfd] / findlinks.in
index 13380be..2790b92 100755 (executable)
@@ -1,39 +1,39 @@
 #! /bin/sh
-# -*-sh-*-
-#
-# Find files which could be links to the repository
-#
-# (c) 1997 Mark Wooding
-#
+### -*-sh-*-
+###
+### Find files which could be links to the repository
+###
+### (c) 1997 Mark Wooding
+###
 
-#----- Licensing notice -----------------------------------------------------
-#
-# This file is part of the Common Files Distribution (`common').
-#
-# `Common' is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# `Common' is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with `common'; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the Common Files Distribution (`common').
+###
+### `Common' is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### `Common' is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with `common'; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-# --- Configuration variables ---
+set -e
 
-prefix=@prefix@
-datarootdir=@datarootdir@
-datadir=@datadir@/@PACKAGE@
+pkgdatadir="@pkgdatadir@"
+VERSION="@VERSION@"
 
-# --- Parse command line arguments ---
+###--------------------------------------------------------------------------
+### Parse command line arguments.
 
 while [ $# -gt 0 ]; do
-  case $1 in
+  case "$1" in
     -h | --h | --he | --hel | --help)
       cat <<EOF
 Usage: findlinks
@@ -45,9 +45,7 @@ EOF
       exit 0
       ;;
     -v | --v | --ve | --ver | --vers | --versi | --versio | --version)
-      version=`echo '$Revision: 1.3 $' |
-       sed -n -e 's;^.*: \([0-9.]*\) *\\$;\1;p'`
-      echo "findlinks $version; Common Files Distribution version @VERSION@"
+      echo "findlinks: Common Files Distribution version $VERSION"
       exit 0
       ;;
     *)
@@ -56,41 +54,49 @@ EOF
       ;;
   esac
   shift
-done  
+done
 
-# --- Read the names of all the files I support ---
-#
-# Yes, this is ugly and hacky: well spotted.  Shells have a nasty habit of
-# spontaneously forking when redirection gets too hard for them to think
-# about, so instead of something nice along the lines of
-#
-#   find ... | while read name; do <build `files'> done
-#
-# I have to stick the whole lot in backticks and echo the result when it's
-# all done.  Yuk.
-#
-# Oh, I almost forgot: that colon on the end there, that's to make sure that
-# all the entries are surrounded by colons on both sides, which makes the
-# pattern match in the `case' below work properly.
+###--------------------------------------------------------------------------
+### Read the names of all the files I support.
+###
+###
+### Yes, this is ugly and hacky: well spotted.  Shells have a nasty habit of
+### spontaneously forking when redirection gets too hard for them to think
+### about, so instead of something nice along the lines of
+###
+###   find ... | while read name; do <build `files'> done
+###
+### I have to stick the whole lot in backticks and echo the result when it's
+### all done.  Yuk.
+###
+### Oh, I almost forgot: that colon on the end there, that's to make sure
+### that all the entries are surrounded by colons on both sides, which makes
+### the pattern match in the `case' below work properly.
 
-files=`
+files=$(
   files=""
-  find $datadir -type f -print | { while read name; do
-    files="$files:\`echo $name | sed -e 's;^.*/;;'\`"
-  done
-  echo $files; } `:
+  find "$pkgdatadir" -type f -print | {
+    while read name; do
+      files="$files:$(echo "$name" | sed 's;^.*/;;')"
+    done
+    echo $files
+  }
+):
 
-# --- Now examine the current directory ---
-#
-# Remember to include things which are already linked, so that users can say
-# `findlinks >.links' without any problems.
+###--------------------------------------------------------------------------
+### Now examine the current directory.
+###
+### Remember to include things which are already linked, so that users can
+### say `findlinks >.links' without any problems.
 
 find . \( -type f -o -type l \) -print | while read name; do
-  base="`echo $name | sed -e 's;^.*/;;'`"
+  base="$(echo "$name" | sed 's;^.*/;;')"
   case "$files" in
     *:$base:*)
       echo $name
       ;;
     *)
   esac
-done | sed -e 's,^\./,,' | sort
+done | sed 's,^\./,,' | sort
+
+###----- That's all, folks --------------------------------------------------