From 8bc62e51ad5d2c2b426144a69fdaf2353a018738 Mon Sep 17 00:00:00 2001 From: la-ninpre Date: Thu, 4 Dec 2025 17:38:24 +0300 Subject: lib/inc.awk: refactor so that it works in all awks sadly, the one true awk and openbsd awk don't support nested arrays, had to twist everything here. --- lib/inc.awk | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/lib/inc.awk b/lib/inc.awk index b6978bc..309640d 100644 --- a/lib/inc.awk +++ b/lib/inc.awk @@ -1,10 +1,10 @@ # usage: awk -f inc.awk *.html function nodot(name) { - if(name ~ /^\.\//){ - name=substr(name,3); - } - return name; + if(name ~ /^\.\//){ + name=substr(name,3); + } + return name; } BEGIN { @@ -23,7 +23,7 @@ BEGIN { //)){ l=substr($0,RSTART+9,RLENGTH-9-2); - incoming[l][nodot(FILENAME)]=1; + incoming[l,nodot(FILENAME)]=1; if(!(l in files)) { printf("warning: redlink '%s' in '%s'\n", l, nodot(FILENAME)); } @@ -31,13 +31,18 @@ BEGIN { } END { - for(f in incoming){ - split(f,fbase,"."); + for(kv in incoming){ + split(kv,f,SUBSEP); + split(f[1],fbase,"."); fname=fbase[1] "-inc.htm"; - print "\n" >> lastname; + } + lastname=fname; + print "\n" >> fname; + printf("\t
  • %s
  • \n",f[2],title[f[2]]) >> fname; } + printf "\n" >> lastname; } -- cgit v1.2.3