OSDN Git Service

genmancfg.sh: 修正。
authormatsuand <30614168+matsuand@users.noreply.github.com>
Wed, 16 Mar 2022 11:04:39 +0000 (20:04 +0900)
committermatsuand <30614168+matsuand@users.noreply.github.com>
Wed, 16 Mar 2022 11:04:39 +0000 (20:04 +0900)
copyright ファイル (po4a addendum ファイル) 生成にあたり、
たとえば
PO4A-HEADER: mode=before; position=^.TH
を出力しており、最後の "^.TH" が正規表現マッチにより
処理を誤ってしまう (ピリオド文字そのものにマッチさせたい
のに、任意1文字にマッチしてしまう) ため "^\.TH" を出力する
ように変更した (ピリオドをエスケープする出力とした)。

support/genmancfg.sh

index 329fe2e..b104bb7 100755 (executable)
@@ -332,13 +332,13 @@ create_cfg() {
             mkdir -p po4a/add_ja/copyright/$d
 
             # コマンド .TH または .Dd が存在するかどうかを取得する。
-            FIRST=`grep "^\.TH" original/$d/$f >/dev/null 2>&1 && echo "^.TH"`
+            FIRST=`grep "^\.TH" original/$d/$f >/dev/null 2>&1 && echo "^\\\\\\\\.TH"`
             if test -z $FIRST; then
-              FIRST=`grep "^\.Dd" original/$d/$f >/dev/null 2>&1 && echo "^.Dd"`
+              FIRST=`grep "^\.Dd" original/$d/$f >/dev/null 2>&1 && echo "^\\\\\\\\.Dd"`
             fi
 
             # 上で .TH または .Dd が取得できなかった場合は先頭行を取得。
-            if test $FIRST != "^.TH" && test $FIRST != "^.Dd"; then
+            if test $FIRST != "^\\\\.TH" && test $FIRST != "^\\\\.Dd"; then
               FIRST=`head -1 original/$d/$f`
             fi
 
@@ -350,6 +350,7 @@ PO4A-HEADER: mode=before; position=__FIRST__
 .\"    by __USERNAME__ <__EMAILADDR__>
 .\"
 EOF
+
             # 上記生成ファイルに対して変数部分を置換する。
             sed -i -e "s/__FIRST__/$FIRST/" \
                    -e "s/__DATE__/$THISDATE/" \