Mercurial > emacs
annotate lib-src/vcdiff @ 23323:0800a4f84757
(underlying_strftime):
Set the buffer to a nonzero value before calling
strftime, and check to see whether strftime has set the buffer to zero.
This lets us distinguish between an empty buffer and an error.
I'm installing this patch by hand now; it will be superseded whenever
the glibc sources are propagated back to fsf.org.
| author | Paul Eggert <eggert@twinsun.com> |
|---|---|
| date | Fri, 25 Sep 1998 21:40:23 +0000 |
| parents | 0ba6599135d6 |
| children | c8fb06423da0 |
| rev | line source |
|---|---|
|
12507
da322c027bf0
Replace `#!/bin/sh' with `#! /bin/sh', for benefit of systems
Paul Eggert <eggert@twinsun.com>
parents:
5211
diff
changeset
|
1 #! /bin/sh |
| 928 | 2 # |
| 3 # Enhanced sccs diff utility for use with vc mode. | |
| 4 # This version is more compatible with rcsdiff(1). | |
| 5 # | |
|
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
6 # $Id: vcdiff,v 1.5 1995/07/07 22:47:57 eggert Exp $ |
| 928 | 7 # |
| 8 | |
| 9 DIFF="diff" | |
| 5211 | 10 usage="$0: Usage: vcdiff [--brief] [-q] [-r<sid1>] [-r<sid2>] [diffopts] sccsfile..." |
| 928 | 11 |
|
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
12 PATH=$PATH:/usr/ccs/bin:/usr/sccs:/usr/xpg4/bin # common SCCS hangouts |
|
4653
8e72792f2d18
Append /usr/ccs/bin and /usr/sccs to PATH.
Paul Eggert <eggert@twinsun.com>
parents:
3933
diff
changeset
|
13 |
| 3933 | 14 echo= |
|
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
15 sid1= sid2= |
| 928 | 16 |
| 17 for f | |
| 18 do | |
| 19 case $f in | |
| 20 -*) | |
| 21 case $f in | |
| 5211 | 22 --brief) |
| 23 DIFF=cmp;; | |
| 3933 | 24 -q) |
| 25 echo=:;; | |
| 928 | 26 -r?*) |
| 27 case $sid1 in | |
|
16804
0ba6599135d6
(PATH): Add /usr/xpg4/bin,
Paul Eggert <eggert@twinsun.com>
parents:
12507
diff
changeset
|
28 '') |
| 928 | 29 sid1=$f |
| 30 ;; | |
| 31 *) | |
| 32 case $sid2 in | |
| 33 ?*) echo "$usage" >&2; exit 2 ;; | |
| 34 esac | |
| 35 sid2=$f | |
| 36 ;; | |
| 37 esac | |
| 38 ;; | |
| 39 *) | |
| 40 options="$options $f" | |
| 41 ;; | |
| 42 esac | |
| 43 shift | |
| 44 ;; | |
| 45 *) | |
| 46 break | |
| 47 ;; | |
| 48 esac | |
| 49 done | |
| 50 | |
| 51 case $# in | |
| 52 0) | |
| 53 echo "$usage" >&2 | |
| 54 exit 2 | |
| 55 esac | |
| 56 | |
| 57 | |
| 58 rev1= rev2= status=0 | |
| 59 trap 'status=2; exit' 1 2 13 15 | |
| 60 trap 'rm -f $rev1 $rev2 || status=2; exit $status' 0 | |
| 61 | |
| 62 for f | |
| 63 do | |
| 64 s=2 | |
| 65 | |
| 66 case $f in | |
| 67 s.* | */s.*) | |
| 68 if | |
| 69 rev1=/tmp/geta$$ | |
| 70 get -s -p -k $sid1 "$f" > $rev1 && | |
| 71 case $sid2 in | |
| 72 '') | |
| 73 workfile=`expr " /$f" : '.*/s.\(.*\)'` | |
| 74 ;; | |
| 75 *) | |
| 76 rev2=/tmp/getb$$ | |
| 77 get -s -p -k $sid2 "$f" > $rev2 | |
| 78 workfile=$rev2 | |
| 79 esac | |
| 80 then | |
| 3933 | 81 $echo $DIFF $options $sid1 $sid2 $workfile >&2 |
| 928 | 82 $DIFF $options $rev1 $workfile |
| 83 s=$? | |
| 84 fi | |
| 85 ;; | |
| 86 *) | |
| 87 echo "$0: $f is not an SCCS file" >&2 | |
| 88 esac | |
| 89 | |
| 90 if test $status -lt $s | |
| 91 then status=$s | |
| 92 fi | |
| 93 done |
