diff options
Diffstat (limited to 'usr.bin/rcs')
-rw-r--r-- | usr.bin/rcs/diff.h | 7 | ||||
-rw-r--r-- | usr.bin/rcs/rcsmerge.c | 10 |
2 files changed, 13 insertions, 4 deletions
diff --git a/usr.bin/rcs/diff.h b/usr.bin/rcs/diff.h index fdf7cfa821e..f41171f1f41 100644 --- a/usr.bin/rcs/diff.h +++ b/usr.bin/rcs/diff.h @@ -1,4 +1,4 @@ -/* $OpenBSD: diff.h,v 1.2 2006/05/05 15:47:36 xsa Exp $ */ +/* $OpenBSD: diff.h,v 1.3 2006/05/08 18:36:04 xsa Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. @@ -87,6 +87,11 @@ #define D_DIFFER 1 /* Files are different */ #define D_ERROR 2 /* An error occurred */ +/* + * Status values for rcs_diff3() return values + */ +#define D_OVERLAPS 1 /* Overlaps during merge */ + struct rcs_lines; BUF *rcs_diff3(RCSFILE *, char *, RCSNUM *, RCSNUM *, int); diff --git a/usr.bin/rcs/rcsmerge.c b/usr.bin/rcs/rcsmerge.c index fd114ed5029..24499f1db96 100644 --- a/usr.bin/rcs/rcsmerge.c +++ b/usr.bin/rcs/rcsmerge.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rcsmerge.c,v 1.40 2006/05/08 11:56:16 xsa Exp $ */ +/* $OpenBSD: rcsmerge.c,v 1.41 2006/05/08 18:36:04 xsa Exp $ */ /* * Copyright (c) 2005, 2006 Xavier Santolaria <xsa@openbsd.org> * All rights reserved. @@ -32,7 +32,7 @@ int rcsmerge_main(int argc, char **argv) { - int fd, i, ch, flags, kflag; + int fd, i, ch, flags, kflag, status; char *fcont, fpath[MAXPATHLEN], r1[16], r2[16], *rev_str1, *rev_str2; RCSFILE *file; RCSNUM *rev1, *rev2; @@ -40,6 +40,7 @@ rcsmerge_main(int argc, char **argv) flags = 0; kflag = RCS_KWEXP_ERR; + status = 0; rev1 = rev2 = NULL; rev_str1 = rev_str2 = NULL; @@ -159,6 +160,9 @@ rcsmerge_main(int argc, char **argv) continue; } + if (diff3_conflicts != 0) + status = D_OVERLAPS; + if (flags & PIPEOUT) { rcs_buf_putc(bp, '\0'); fcont = rcs_buf_release(bp); @@ -174,7 +178,7 @@ rcsmerge_main(int argc, char **argv) rcs_close(file); } - return (0); + return (status); } void |