From 3b40f1c79c6f49b4040fdc0b6e60b9b8dffddbbd Mon Sep 17 00:00:00 2001 From: Gordon Matzigkeit Date: Thu, 21 Aug 1997 05:16:08 +0000 Subject: [PATCH] Initial revision --- lineno | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100755 lineno diff --git a/lineno b/lineno new file mode 100755 index 000000000..53d3f5e46 --- /dev/null +++ b/lineno @@ -0,0 +1,98 @@ +#! /bin/sh +# lineno - Replace instances of @LINENO@ with the file's current line number +# Gordon Matzigkeit , 1997 + +# Copyright (C) 1992, 1993, 1994, 1996, 1997 Free Software Foundation, Inc. + +# This program 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, or (at your option) +# any later version. + +# This program 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 this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AWK=${AWK-awk} +delete=no +files= +progname=`echo "$0" | sed 's%^.*/%%'` + +for arg +do + case "$arg" in + --delete) delete=yes ;; + + --help) + cat <&2 + exit 1 + ;; + + *) files="$files $arg" ;; + esac +done + +if test -z "$files"; then + echo "$progname: no FILES specified" 1>&2 + exit 1 +fi + +# Manage a temp file. +tmpfile="$progname.$$" +trap "rm -f $tmpfile; exit 1" 1 2 15 + +status=0 +for file in $files; do + if test -f "$file"; then : + else + status=1 + echo "$progname: \`$file' is not a file" 1>&2 + fi + + # Skip empty files. + test -s "$file" || continue + + # Transliterated from a section in autoconf (Autoconf 2.12). + $AWK ' + /@LINENO@/ { printf "%d:", NR } + { print } +' $file | sed '/@LINENO@/s/^\([0-9][0-9]*\):\(.*\)@LINENO@/\2\1/' > $tmpfile + + if test -s "$tmpfile"; then + cp $tmpfile $file && continue + fi + + if test "$delete" = yes; then + echo "$progname: deleting \`$file'" 1>&2 + rm -f $file + fi +done + +rm -f $tmpfile +exit $status -- 2.47.2