summary refs log tree commit diff
path: root/doc/rfc/rfc.in
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc.in')
-rw-r--r--doc/rfc/rfc.in13
1 files changed, 12 insertions, 1 deletions
diff --git a/doc/rfc/rfc.in b/doc/rfc/rfc.in
index 958b09da..16081c83 100644
--- a/doc/rfc/rfc.in
+++ b/doc/rfc/rfc.in
@@ -1,8 +1,19 @@
 #!/bin/sh
 set -eu
 
+mktemp='mktemp -t rfc'
+[ "$(uname)" = 'OpenBSD' ] && mktemp="${mktemp}.XXXXXXXXXX"
+
 rfc=%%PREFIX%%/share/rfc/"rfc${1:--index}.txt"
-tags=$(mktemp -t rfc.XXXXXXXXXX)
+tags=$($mktemp)
 trap 'rm "${tags}"' EXIT
+
+if test -f "${rfc}.gz"; then
+	txt=$($mktemp)
+	trap 'rm "${txt}" "${tags}"' EXIT
+	gunzip -c "${rfc}.gz" >"${txt}"
+	rfc=$txt
+fi
+
 %%PREFIX%%/bin/rfctags "${rfc}" >"${tags}"
 ${PAGER:-less} -T "${tags}" "${rfc}"