Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Oct 2002 19:28:27 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Crist J. Clark" <crist.clark@attbi.com>, Trish Lynch <trish@bsdunix.net>, Adrian Wontroba <aw1@stade.co.uk>, chris scott <c.scott@uk.tiscali.com>, freebsd-stable@FreeBSD.ORG
Subject:   Patch #2 (Re: Ifconfig config of gif tunnels)
Message-ID:  <200210140228.g9E2SRlA058696@apollo.backplane.com>
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> 

next in thread | previous in thread | raw e-mail | index | archive | help
    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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210140228.g9E2SRlA058696>