From 71eb43507aa0677a987eff4cdbb2a8db252d2277 Mon Sep 17 00:00:00 2001 From: delphij Date: Mon, 17 Dec 2012 06:38:22 +0000 Subject: [PATCH] MFC r243834: Note that the manual page of less(1) says: Note that a preprocessor cannot output an empty file, since that is interpreted as meaning there is no replacement, and the origi- nal file is used. To avoid this, if LESSOPEN starts with two ver- tical bars, the exit status of the script becomes meaningful. If the exit status is zero, the output is considered to be replace- ment text, even if it empty. If the exit status is nonzero, any output is ignored and the original file is used. For compatibil- ity with previous versions of less, if LESSOPEN starts with only one vertical bar, the exit status of the preprocessor is ignored. Use two pipe symbols for zless, so that zless'ing a compressed empty file will give output rather than being interpreted as its compressed form, which is typically a binary. Thanks Mark Nudelman for pointing out this difference and the suggested solution. Reported by: Matthias Meyser PR: bin/168839 git-svn-id: svn://svn.freebsd.org/base/stable/8@244343 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/less/zless.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/less/zless.sh b/usr.bin/less/zless.sh index b947b819f..f2e035c2d 100644 --- a/usr.bin/less/zless.sh +++ b/usr.bin/less/zless.sh @@ -3,5 +3,5 @@ # $FreeBSD$ # -export LESSOPEN="|/usr/bin/lesspipe.sh %s" +export LESSOPEN="||/usr/bin/lesspipe.sh %s" exec /usr/bin/less "$@" -- 2.45.0