1#!@POSIX_SHELL@ 2 3# Copyright (C) 2001, 2002, 2007 Free Software Foundation 4# Copyright (C) 1992, 1993 Jean-loup Gailly 5 6# Modified for XZ Utils by Andrew Dudman and Lasse Collin. 7 8# This program is free software; you can redistribute it and/or modify 9# it under the terms of the GNU General Public License as published by 10# the Free Software Foundation; either version 2 of the License, or 11# (at your option) any later version. 12 13# This program is distributed in the hope that it will be useful, 14# but WITHOUT ANY WARRANTY; without even the implied warranty of 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16# GNU General Public License for more details. 17 18#SET_PATH - This line is a placeholder to ease patching this script. 19 20# Instead of unsetting XZ_OPT, just make sure that xz will use file format 21# autodetection. This way memory usage limit and thread limit can be 22# specified via XZ_OPT. 23xz='@xz@ --format=auto' 24 25version='xzmore (@PACKAGE_NAME@) @VERSION@' 26 27usage="Usage: ${0##*/} [OPTION]... [FILE]... 28Like 'more', but operate on the uncompressed contents of xz compressed FILEs. 29 30Report bugs to <@PACKAGE_BUGREPORT@>." 31 32case $1 in 33 --help) echo "$usage" || exit 2; exit;; 34 --version) echo "$version" || exit 2; exit;; 35esac 36 37oldtty=`stty -g 2>/dev/null` 38if stty -cbreak 2>/dev/null; then 39 cb='cbreak'; ncb='-cbreak' 40else 41 # 'stty min 1' resets eof to ^a on both SunOS and SysV! 42 cb='min 1 -icanon'; ncb='icanon eof ^d' 43fi 44if test $? -eq 0 && test -n "$oldtty"; then 45 trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15 46else 47 trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15 48fi 49 50if test $# = 0; then 51 if test -t 0; then 52 echo "$usage"; exit 1 53 else 54 $xz -cdfq | eval "${PAGER:-more}" 55 fi 56else 57 FIRST=1 58 for FILE; do 59 < "$FILE" || continue 60 if test $FIRST -eq 0; then 61 printf "%s--More--(Next file: %s)" "" "$FILE" 62 stty $cb -echo 2>/dev/null 63 ANS=`dd bs=1 count=1 2>/dev/null` 64 stty $ncb echo 2>/dev/null 65 echo " " 66 case "$ANS" in 67 [eq]) exit;; 68 esac 69 fi 70 if test "$ANS" != 's'; then 71 echo "------> $FILE <------" 72 $xz -cdfq -- "$FILE" | eval "${PAGER:-more}" 73 fi 74 if test -t 1; then 75 FIRST=0 76 fi 77 done 78fi 79