version 1.314, 2016/10/13 20:31:45 |
version 1.315, 2016/10/13 20:51:25 |
|
|
while (!TAILQ_EMPTY(&(rfp->rf_symbols))) { |
while (!TAILQ_EMPTY(&(rfp->rf_symbols))) { |
rsp = TAILQ_FIRST(&(rfp->rf_symbols)); |
rsp = TAILQ_FIRST(&(rfp->rf_symbols)); |
TAILQ_REMOVE(&(rfp->rf_symbols), rsp, rs_list); |
TAILQ_REMOVE(&(rfp->rf_symbols), rsp, rs_list); |
rcsnum_free(rsp->rs_num); |
free(rsp->rs_num); |
free(rsp->rs_name); |
free(rsp->rs_name); |
free(rsp); |
free(rsp); |
} |
} |
|
|
while (!TAILQ_EMPTY(&(rfp->rf_locks))) { |
while (!TAILQ_EMPTY(&(rfp->rf_locks))) { |
rlp = TAILQ_FIRST(&(rfp->rf_locks)); |
rlp = TAILQ_FIRST(&(rfp->rf_locks)); |
TAILQ_REMOVE(&(rfp->rf_locks), rlp, rl_list); |
TAILQ_REMOVE(&(rfp->rf_locks), rlp, rl_list); |
rcsnum_free(rlp->rl_num); |
free(rlp->rl_num); |
free(rlp->rl_name); |
free(rlp->rl_name); |
free(rlp); |
free(rlp); |
} |
} |
|
|
if (rfp->rf_head != NULL) |
free(rfp->rf_head); |
rcsnum_free(rfp->rf_head); |
free(rfp->rf_branch); |
if (rfp->rf_branch != NULL) |
|
rcsnum_free(rfp->rf_branch); |
|
|
|
if (rfp->rf_file != NULL) |
if (rfp->rf_file != NULL) |
fclose(rfp->rf_file); |
fclose(rfp->rf_file); |
|
|
file->rf_branch->rn_len) == 0) |
file->rf_branch->rn_len) == 0) |
break; |
break; |
} |
} |
rcsnum_free(rootrev); |
free(rootrev); |
|
|
if (brp == NULL) |
if (brp == NULL) |
fatal("rcs_head_get: could not find first default " |
fatal("rcs_head_get: could not find first default " |
|
|
|
|
if (rcsnum_inc(brev) == NULL || |
if (rcsnum_inc(brev) == NULL || |
rcsnum_inc(brev) == NULL) { |
rcsnum_inc(brev) == NULL) { |
rcsnum_free(brev); |
free(brev); |
return (NULL); |
return (NULL); |
} |
} |
} |
} |
|
|
|
|
TAILQ_REMOVE(&(file->rf_symbols), symp, rs_list); |
TAILQ_REMOVE(&(file->rf_symbols), symp, rs_list); |
free(symp->rs_name); |
free(symp->rs_name); |
rcsnum_free(symp->rs_num); |
free(symp->rs_num); |
free(symp); |
free(symp); |
|
|
/* not synced anymore */ |
/* not synced anymore */ |
|
|
return (-1); |
return (-1); |
|
|
TAILQ_REMOVE(&(file->rf_locks), lkp, rl_list); |
TAILQ_REMOVE(&(file->rf_locks), lkp, rl_list); |
rcsnum_free(lkp->rl_num); |
free(lkp->rl_num); |
free(lkp->rl_name); |
free(lkp->rl_name); |
free(lkp); |
free(lkp); |
|
|
|
|
} |
} |
} |
} |
|
|
if (root != NULL) |
free(root); |
rcsnum_free(root); |
|
|
|
/* not synced anymore */ |
/* not synced anymore */ |
rf->rf_flags &= ~RCS_SYNCED; |
rf->rf_flags &= ~RCS_SYNCED; |
|
|
if (rcs_head_set(rf, prevrdp->rd_num) < 0) |
if (rcs_head_set(rf, prevrdp->rd_num) < 0) |
fatal("rcs_head_set failed"); |
fatal("rcs_head_set failed"); |
} else if (nextrdp != NULL) { |
} else if (nextrdp != NULL) { |
rcsnum_free(nextrdp->rd_next); |
free(nextrdp->rd_next); |
nextrdp->rd_next = rcsnum_alloc(); |
nextrdp->rd_next = rcsnum_alloc(); |
} else { |
} else { |
rcsnum_free(rf->rf_head); |
free(rf->rf_head); |
rf->rf_head = NULL; |
rf->rf_head = NULL; |
} |
} |
|
|
|
|
{ |
{ |
struct rcs_branch *rb; |
struct rcs_branch *rb; |
|
|
if (rdp->rd_num != NULL) |
free(rdp->rd_num); |
rcsnum_free(rdp->rd_num); |
free(rdp->rd_next); |
if (rdp->rd_next != NULL) |
|
rcsnum_free(rdp->rd_next); |
|
|
|
free(rdp->rd_author); |
free(rdp->rd_author); |
free(rdp->rd_locker); |
free(rdp->rd_locker); |
free(rdp->rd_state); |
free(rdp->rd_state); |
|
|
|
|
while ((rb = TAILQ_FIRST(&(rdp->rd_branches))) != NULL) { |
while ((rb = TAILQ_FIRST(&(rdp->rd_branches))) != NULL) { |
TAILQ_REMOVE(&(rdp->rd_branches), rb, rb_list); |
TAILQ_REMOVE(&(rdp->rd_branches), rb, rb_list); |
rcsnum_free(rb->rb_num); |
free(rb->rb_num); |
free(rb); |
free(rb); |
} |
} |
|
|
|
|
*/ |
*/ |
if (rfp->rf_head == NULL || rcsnum_cmp(rev, rfp->rf_head, |
if (rfp->rf_head == NULL || rcsnum_cmp(rev, rfp->rf_head, |
MINIMUM(rfp->rf_head->rn_len, rev->rn_len)) < 0) { |
MINIMUM(rfp->rf_head->rn_len, rev->rn_len)) < 0) { |
rcsnum_free(rev); |
free(rev); |
return (NULL); |
return (NULL); |
} |
} |
return (rev); |
return (rev); |
|
|
|
|
if ((rdp = rcs_findrev(rfp, brev)) == NULL) |
if ((rdp = rcs_findrev(rfp, brev)) == NULL) |
fatal("rcs_get_revision: tag `%s' does not exist", revstr); |
fatal("rcs_get_revision: tag `%s' does not exist", revstr); |
rcsnum_free(brev); |
free(brev); |
|
|
TAILQ_FOREACH(brp, &(rdp->rd_branches), rb_list) { |
TAILQ_FOREACH(brp, &(rdp->rd_branches), rb_list) { |
for (i = 0; i < rev->rn_len; i++) |
for (i = 0; i < rev->rn_len; i++) |
|
|
break; |
break; |
} |
} |
|
|
rcsnum_free(rev); |
free(rev); |
frev = rcsnum_alloc(); |
frev = rcsnum_alloc(); |
if (brp == NULL) { |
if (brp == NULL) { |
rcsnum_cpy(rdp->rd_num, frev, 0); |
rcsnum_cpy(rdp->rd_num, frev, 0); |
|
|
annotate = ANNOTATE_NOW; |
annotate = ANNOTATE_NOW; |
|
|
/* annotate down to 1.1 from where we are */ |
/* annotate down to 1.1 from where we are */ |
rcsnum_free(bnum); |
free(bnum); |
bnum = rcsnum_parse("1.1"); |
bnum = rcsnum_parse("1.1"); |
if (!rcsnum_differ(rdp->rd_num, bnum)) { |
if (!rcsnum_differ(rdp->rd_num, bnum)) { |
goto next; |
goto next; |
|
|
annotate = ANNOTATE_NOW; |
annotate = ANNOTATE_NOW; |
|
|
/* annotate down to 1.1 from where we are */ |
/* annotate down to 1.1 from where we are */ |
rcsnum_free(bnum); |
free(bnum); |
bnum = rcsnum_parse("1.1"); |
bnum = rcsnum_parse("1.1"); |
|
|
if (!rcsnum_differ(rdp->rd_num, bnum)) |
if (!rcsnum_differ(rdp->rd_num, bnum)) |
|
|
free(*alines); |
free(*alines); |
*alines = NULL; |
*alines = NULL; |
cvs_freelines(dlines); |
cvs_freelines(dlines); |
rcsnum_free(bnum); |
free(bnum); |
return (NULL); |
return (NULL); |
} |
} |
fatal("expected branch not found on branch list"); |
fatal("expected branch not found on branch list"); |
|
|
} |
} |
|
|
if (bnum != tnum) |
if (bnum != tnum) |
rcsnum_free(bnum); |
free(bnum); |
|
|
return (dlines); |
return (dlines); |
} |
} |
|
|
} while (rcsnum_differ(rdp->rd_num, frev)); |
} while (rcsnum_differ(rdp->rd_num, frev)); |
|
|
if (bnum != frev) |
if (bnum != frev) |
rcsnum_free(bnum); |
free(bnum); |
|
|
/* |
/* |
* All lines have been parsed, now they must be copied over |
* All lines have been parsed, now they must be copied over |
|
|
} else |
} else |
follow = 0; |
follow = 0; |
|
|
rcsnum_free(brev); |
free(brev); |
} |
} |
|
|
if (cvs_specified_date != -1) |
if (cvs_specified_date != -1) |
|
|
} |
} |
|
|
/* Find the latest delta on that branch */ |
/* Find the latest delta on that branch */ |
rcsnum_free(rev); |
free(rev); |
for (;;) { |
for (;;) { |
if (rdp->rd_next->rn_len == 0) |
if (rdp->rd_next->rn_len == 0) |
break; |
break; |
|
|
if (frev != NULL) { |
if (frev != NULL) { |
brev = rcsnum_revtobr(frev); |
brev = rcsnum_revtobr(frev); |
brev->rn_len = rev->rn_len - 1; |
brev->rn_len = rev->rn_len - 1; |
rcsnum_free(frev); |
free(frev); |
} |
} |
|
|
rcsnum_free(rev); |
free(rev); |
|
|
do { |
do { |
deltatime = timegm(&(rdp->rd_date)); |
deltatime = timegm(&(rdp->rd_date)); |