#!/bin/sh
# Increment serial number in Autoconf *.m4 files.
# Copyright (C) 2021-2024 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, see .
scriptversion=2022-01-27
copyright_year=`echo "$scriptversion" | sed -e 's/[^0-9].*//'`
copyright="Copyright (C) ${copyright_year} Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law."
usage="Usage: $0 [FILE...]
Increments the serial number, if present, in each of the files.
Options:
--version output version information and exit
--help print this help text and exit
Send patches and bug reports to ."
# Based on
#
sed_inc_serial='1,10 {
/serial *[0-9]/ {
s/\(serial *[0-9][0-9]*\)/\1~/
:a
s/\(serial *[0-9]*\)9\(_*\)~/\1_\2~/
ta
s/\(serial *\)\(_*\)~/\11\2~/
tb
s/\(serial *[0-9]*\)8\(_*\)~/\19\2~/
tb
s/\(serial *[0-9]*\)7\(_*\)~/\18\2~/
tb
s/\(serial *[0-9]*\)6\(_*\)~/\17\2~/
tb
s/\(serial *[0-9]*\)5\(_*\)~/\16\2~/
tb
s/\(serial *[0-9]*\)4\(_*\)~/\15\2~/
tb
s/\(serial *[0-9]*\)3\(_*\)~/\14\2~/
tb
s/\(serial *[0-9]*\)2\(_*\)~/\13\2~/
tb
s/\(serial *[0-9]*\)1\(_*\)~/\12\2~/
tb
s/\(serial *[0-9]*\)0\(_*\)~/\11\2~/
tb
:b
s/\(serial *[0-9]*\)_/\10/
tb
s/\(serial *[0-9]*\)~/\1/
}
}'
# func_process FILE
func_process ()
{
sed -i -e "$sed_inc_serial" "$1" || exit 1
}
while test $# -gt 0; do
case "$1" in
--version)
set -e
echo "increment-serial $scriptversion"
echo "$copyright"
echo
printf 'Written by %s.\n' "Bruno Haible"
exit 0
;;
--help)
set -e
echo "$usage"
exit 0
;;
--)
shift
while test $# -gt 0; do
case "$1" in
-*) func_process "./$1" ;;
*) func_process "$1" ;;
esac
shift
done
break
;;
-*)
echo "$0: Unknown option '$1', try '$0 --help'" 1>&2
exit 1
;;
*)
func_process "$1"
;;
esac
shift
done
exit 0