From owner-freebsd-stable Sun Oct 13 19:28:41 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 97B8037B401 for ; Sun, 13 Oct 2002 19:28:38 -0700 (PDT) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1588843ECD for ; Sun, 13 Oct 2002 19:28:38 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.12.5/8.12.4) with ESMTP id g9E2SRPQ058697; Sun, 13 Oct 2002 19:28:27 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.12.5/8.12.4/Submit) id g9E2SRlA058696; Sun, 13 Oct 2002 19:28:27 -0700 (PDT) (envelope-from dillon) Date: Sun, 13 Oct 2002 19:28:27 -0700 (PDT) From: Matthew Dillon Message-Id: <200210140228.g9E2SRlA058696@apollo.backplane.com> To: "Crist J. Clark" , Trish Lynch , Adrian Wontroba , chris scott , freebsd-stable@FreeBSD.ORG Subject: Patch #2 (Re: Ifconfig config of gif tunnels) References: <20021013172810.A19177@titus.hanley.stade.co.uk> <20021013130138.G523-100000@femme.sapphite.org> <20021013214642.GB90169@blossom.cjclark.org> <200210132154.g9DLsUmc057065@apollo.backplane.com> <20021013225509.GA90575@blossom.cjclark.org> Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Here's a new patch. I attempt to pull out terminal parameters via stty. I'm still not sure how to deal with the terminal history / clear issue, but since we kinda know how many rows there are it would be possible to scroll the data off before clearing. -Matt Index: mergemaster.sh =================================================================== RCS file: /home/ncvs/src/usr.sbin/mergemaster/mergemaster.sh,v retrieving revision 1.6.2.14 diff -u -r1.6.2.14 mergemaster.sh --- mergemaster.sh 30 Jun 2002 19:01:35 -0000 1.6.2.14 +++ mergemaster.sh 14 Oct 2002 02:25:53 -0000 @@ -12,6 +12,20 @@ PATH=/bin:/usr/bin:/usr/sbin +# XXX set to number of rows on terminal minus 8 +DIFFROWS=`stty size | awk '{ print $1; }'` +DIFFCOLS=`stty size | awk '{ print $2; }'` +if [ -z "$DIFFCOLS" ]; then + DIFFCOLS=80 +fi +if [ -z "$DIFFROWS" ]; then + DIFFROWS=24 +fi +if [ $DIFFROWS -le 0 ]; then + DIFFROWS=24 +fi +DIFFROWS=$(($DIFFROWS - 8)) +DIFFCOLS=$(($DIFFCOLS - 1)) display_usage () { VERSION_NUMBER=`grep "[$]FreeBSD:" $0 | cut -d ' ' -f 4` echo "mergemaster version ${VERSION_NUMBER}" @@ -106,24 +120,34 @@ diff_loop () { HANDLE_COMPFILE=v + FIRST_TIME=y while [ "${HANDLE_COMPFILE}" = "v" -o "${HANDLE_COMPFILE}" = "V" -o \ "${HANDLE_COMPFILE}" = "NOT V" ]; do if [ -f "${DESTDIR}${COMPFILE#.}" -a -f "${COMPFILE}" ]; then if [ "${HANDLE_COMPFILE}" = "v" -o "${HANDLE_COMPFILE}" = "V" ]; then + if [ "$FIRST_TIME" = "y" ]; then + clear + ( + echo " *** Displaying differences between ${COMPFILE} and installed version:" + echo '' + diff "${DIFF_FLAG}" "${DESTDIR}${COMPFILE#.}" "${COMPFILE}" + ) | cut -b 1-${DIFFCOLS} | head -${DIFFROWS} + echo '...' + else + clear + ( + echo " *** Displaying differences between ${COMPFILE} and installed version:" + echo '' + diff "${DIFF_FLAG}" "${DESTDIR}${COMPFILE#.}" "${COMPFILE}" + ) | ${PAGER} + echo '...' + fi echo '' - echo ' ====================================================================== ' - echo '' - ( - echo '' - echo " *** Displaying differences between ${COMPFILE} and installed version:" - echo '' - diff "${DIFF_FLAG}" "${DESTDIR}${COMPFILE#.}" "${COMPFILE}" - ) | ${PAGER} - echo '' + FIRST_TIME=n fi else - echo '' + clear echo " *** There is no installed version of ${COMPFILE}" echo '' case "${AUTO_INSTALL}" in To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message