=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/rcs.c,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** src/usr.bin/cvs/rcs.c 2004/07/14 19:22:43 1.5 --- src/usr.bin/cvs/rcs.c 2004/07/14 19:40:10 1.6 *************** *** 1,4 **** ! /* $OpenBSD: rcs.c,v 1.5 2004/07/14 19:22:43 vincent Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcs.c,v 1.6 2004/07/14 19:40:10 vincent Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 616,634 **** u_int cmplen; struct rcs_delta *rdp; struct rcs_dlist *hp; ! cmplen = 2; hp = &(rfp->rf_delta); ! TAILQ_FOREACH(rdp, hp, rd_list) { ! if (rcsnum_cmp(rdp->rd_num, rev, cmplen) == 0) { ! if (cmplen == rev->rn_len) ! return (rdp); ! hp = &(rdp->rd_snodes); ! cmplen += 2; } ! } return (NULL); } --- 616,640 ---- u_int cmplen; struct rcs_delta *rdp; struct rcs_dlist *hp; ! int found; ! cmplen = 2; hp = &(rfp->rf_delta); ! do { ! found = 0; ! TAILQ_FOREACH(rdp, hp, rd_list) { ! if (rcsnum_cmp(rdp->rd_num, rev, cmplen) == 0) { ! if (cmplen == rev->rn_len) ! return (rdp); ! hp = &(rdp->rd_snodes); ! cmplen += 2; ! found = 1; ! break; ! } } ! } while (found && cmplen < rev->rn_len); return (NULL); }