diff options
author | 2003-07-10 16:06:07 +0000 | |
---|---|---|
committer | 2003-07-10 16:06:07 +0000 | |
commit | d407ca27a76d17dcb9524af8c510c420d22b10e7 (patch) | |
tree | e539c5f47a58fa30c219a7b2e24ecc0504c75fcf /usr.bin/diff3/diff3.ksh | |
parent | - working emulation for POPC instruction (diff) | |
download | wireguard-openbsd-d407ca27a76d17dcb9524af8c510c420d22b10e7.tar.xz wireguard-openbsd-d407ca27a76d17dcb9524af8c510c420d22b10e7.zip |
A matching diff3 from 32V w/ some UCB changes. I cleaned this up a bit
(KNF and -Wall) and rewrote the shell front-end.
Diffstat (limited to 'usr.bin/diff3/diff3.ksh')
-rw-r--r-- | usr.bin/diff3/diff3.ksh | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/usr.bin/diff3/diff3.ksh b/usr.bin/diff3/diff3.ksh new file mode 100644 index 00000000000..dd4991c6583 --- /dev/null +++ b/usr.bin/diff3/diff3.ksh @@ -0,0 +1,62 @@ +#!/bin/ksh - +# +# $OpenBSD: diff3.ksh,v 1.1 2003/07/10 16:06:07 millert Exp $ +# +# Copyright (c) 2003 Todd C. Miller <Todd.Miller@courtesan.com> +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# +# Sponsored in part by the Defense Advanced Research Projects +# Agency (DARPA) and Air Force Research Laboratory, Air Force +# Materiel Command, USAF, under agreement number F39502-99-1-0512. +# + +set -o posix # set POSIX mode to prevent +foo in getopts +OPTIND=1 # force getopts to reset itself + +export PATH=/bin:/usr/bin +diff3prog=/usr/libexec/diff3prog +USAGE="usage: diff3 [-aexEX3] file1 file2 file3" + +# Pull out any command line flags (some for diff, some for diff3) +dflags= +d3flags= +while getopts "aeExX3" c; do + case "$c" in + a) + dflags="$dflags $1" + shift + ;; + e|E|x|X|3) + d3flags="-$c" + shift + ;; + *) + echo "$USAGE" 1>&2 + exit 1 + ;; + esac +done +shift $(( $OPTIND - 1 )) + +TMP1=`mktemp -t d3a.XXXXXXXXXX` || exit 1 +TMP2=`mktemp -t d3b.XXXXXXXXXX` +if [ $? -ne 0 ]; then + rm -f $TMP1 + exit 1 +fi +trap "/bin/rm -f $TMP1 $TMP2" 0 1 2 13 15 +diff $dflags $1 $3 > $TMP1 +diff $dflags $2 $3 > $TMP2 +$DIFF3PROG $d3flags $TMP1 $TMP2 $1 $2 $3 +exit $? |