Thread (34 messages) flat view 34 messages, 5 authors, 2021-11-17

Re: [PATCH 8/8] hook-list.h: add a generated list of hooks, like config-list.h

From: René Scharfe <hidden>
Date: 2021-09-24 19:56:52

Am 24.09.21 um 21:30 schrieb Ævar Arnfjörð Bjarmason:
On Fri, Sep 24 2021, Phillip Wood wrote:
quoted
Hi Ævar
On 23/09/2021 11:30, Ævar Arnfjörð Bjarmason wrote:
quoted
diff --git a/generate-hooklist.sh b/generate-hooklist.sh
new file mode 100755
index 00000000000..6d4e56d1a31
--- /dev/null
+++ b/generate-hooklist.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# Usage: ./generate-hooklist.sh >hook-list.h
+
+cat <<EOF
+/* Automatically generated by generate-hooklist.sh */
+
+static const char *hook_name_list[] = {
+EOF
+
+sed -n -e '/^~~~~*$/ {x; s/^.*$/	"&",/; p;}; x' \
POSIX does not support using a semicolon after a closing brace [1],
grepping our code base with
	git grep 'sed .*};' '*.sh'
does not give any matches so I don't think we're using that pattern
any where else. Replacing the semicolon with ' -e' would fix it.

Best Wishes

Phillip
Does this fail on any system you're aware of? If so what OS/version (and
preferably version of "sed").
I wasn't aware of that restriction and my gut feeling is that enforcing
it in a sed implementation would be slightly harder than allowing "};".
René's downthread [ref] seems to
suggest that this is fine.
That said, I didn't mean to suggest that we keep using this construct,
just that I couldn't find an implementation which would reject it.
Both beforehand and just now I've tested this on AIX, Solaris,
{Open,Net,Free}BSD, HP/UX, OSX and Linux (a few distros/versions).

All of them are able to generate the same hook-list.h using this version
of the patch.
Impressive list, but still it's probably better to move the last "x" to
its own -e, to appease the POSIX spirits.  Small change..

René
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help