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>