Lines Matching defs:rf

181 	struct rcsfile *rf;
188 rf = xmalloc(sizeof(struct rcsfile));
189 rf->name = xstrdup(name);
190 rf->cvsroot = xstrdup(cvsroot);
191 rf->colltag = xstrdup(colltag);
194 rf->trunk = xmalloc(sizeof(struct branch));
195 rf->trunk->revnum = xstrdup("1");
196 LIST_INIT(&rf->trunk->deltalist);
198 LIST_INIT(&rf->deltatable);
200 STAILQ_INIT(&rf->taglist);
202 STAILQ_INIT(&rf->accesslist);
205 rf->head = NULL;
206 rf->branch = NULL;
207 rf->strictlock = 0;
208 rf->comment = NULL;
209 rf->expand = EXPAND_DEFAULT;
210 rf->desc = NULL;
211 rf->ro = ro;
216 rcsfile_free(rf);
219 error = rcsparse_run(rf, infp, ro);
223 rcsfile_free(rf);
226 return (rf);
234 rcsfile_send_details(struct rcsfile *rf, struct stream *wr)
241 assert(rf != NULL);
243 error = proto_printf(wr, "V %s\n", rf->name);
248 if (rf->branch == NULL)
251 error = proto_printf(wr, "B %s\n", rf->branch);
260 LIST_FOREACH(d, &rf->deltatable, table_next) {
270 if (rf->expand != EXPAND_DEFAULT) {
271 keyword = keyword_encode_expand(rf->expand);
274 keyword_encode_expand(rf->expand));
284 STAILQ_FOREACH(t, &rf->taglist, tag_next) {
301 rcsfile_write(struct rcsfile *rf, struct stream *dest)
311 d = LIST_FIRST(&rf->trunk->deltalist);
316 if (rf->branch != NULL) {
318 rf->branch) < 0)
326 if (!STAILQ_EMPTY(&rf->accesslist)) {
339 if (!STAILQ_EMPTY(&rf->taglist)) {
340 STAILQ_FOREACH(t, &rf->taglist, tag_next) {
350 if (rf->strictlock) {
358 if (rf->comment != NULL) {
360 rf->comment) < 0)
363 if (rf->expand != EXPAND_DEFAULT) {
365 keyword_encode_expand(rf->expand)) < 0)
377 d = LIST_FIRST(&rf->trunk->deltalist);
434 d = LIST_FIRST(&rf->trunk->deltalist);
437 error = rcsfile_write_deltatext(rf, dest);
447 rcsfile_write_deltatext(struct rcsfile *rf, struct stream *dest)
460 d = LIST_FIRST(&rf->trunk->deltalist);
483 error = rcsfile_puttext(rf, dest, d, d->prev);
548 rcsfile_puttext(struct rcsfile *rf, struct stream *dest, struct delta *d,
580 orig = rcsfile_getdeltatext(rf, d, &b);
600 orig = rcsfile_getdeltatext(rf, d, &b);
605 di->di_rcsfile = rf->name;
606 di->di_cvsroot = rf->cvsroot;
610 di->di_tag = rf->colltag;
637 rcsfile_getdeltatext(struct rcsfile *rf, struct delta *d, struct buf **buf_dest)
652 if (d->diffbase == NULL && !strcmp(rf->head, d->revnum)) {
659 orig = rcsfile_getdeltatext(rf, d->diffbase, &buf_orig);
670 di->di_rcsfile = rf->name;
671 di->di_cvsroot = rf->cvsroot;
675 di->di_tag = rf->colltag;
700 rcsfile_print(struct rcsfile *rf)
709 if (rf->name != NULL)
710 lprintf(1, "name: '%s'\n", rf->name);
711 if (rf->head != NULL)
712 lprintf(1, "head: '%s'\n", rf->head);
713 if (rf->branch != NULL)
714 lprintf(1, "branch: '%s'\n", rf->branch);
716 STAILQ_FOREACH(s, &rf->accesslist, string_next)
721 STAILQ_FOREACH(t, &rf->taglist, tag_next) {
730 if (rf->strictlock)
732 if (rf->comment != NULL)
733 lprintf(1, "comment: '%s'\n", rf->comment);
734 if (rf->expand != EXPAND_DEFAULT)
735 lprintf(1, "expand: '%s'\n", keyword_encode_expand(rf->expand));
738 LIST_FOREACH(d, &rf->deltatable, table_next) {
760 if (rf->desc != NULL)
761 lprintf(1, "desc: '%s'\n", rf->desc);
766 rcsfile_free(struct rcsfile *rf)
772 if (rf->name != NULL)
773 free(rf->name);
774 if (rf->head != NULL)
775 free(rf->head);
776 if (rf->branch != NULL)
777 free(rf->branch);
778 if (rf->cvsroot != NULL)
779 free(rf->cvsroot);
780 if (rf->colltag != NULL)
781 free(rf->colltag);
784 while (!STAILQ_EMPTY(&rf->accesslist)) {
785 s = STAILQ_FIRST(&rf->accesslist);
786 STAILQ_REMOVE_HEAD(&rf->accesslist, string_next);
793 while (!STAILQ_EMPTY(&rf->taglist)) {
794 t = STAILQ_FIRST(&rf->taglist);
795 STAILQ_REMOVE_HEAD(&rf->taglist, tag_next);
803 if (rf->comment != NULL)
804 free(rf->comment);
807 while (!LIST_EMPTY(&rf->deltatable)) {
808 d = LIST_FIRST(&rf->deltatable);
809 if (!rf->ro)
816 if (rf->trunk->revnum != NULL)
817 free(rf->trunk->revnum);
818 free(rf->trunk);
820 if (rf->desc != NULL)
821 free(rf->desc);
823 free(rf);
863 rcsfile_addaccess(struct rcsfile *rf, char *id)
869 STAILQ_INSERT_TAIL(&rf->accesslist, s, string_next);
874 rcsfile_addtag(struct rcsfile *rf, char *tag, char *revnum)
882 STAILQ_INSERT_HEAD(&rf->taglist, t, tag_next);
887 rcsfile_importtag(struct rcsfile *rf, char *tag, char *revnum)
895 STAILQ_INSERT_TAIL(&rf->taglist, t, tag_next);
903 rcsfile_deleterev(struct rcsfile *rf, char *revname)
907 d = rcsfile_getdelta(rf, revname);
908 if (!rf->ro)
916 rcsfile_deletetag(struct rcsfile *rf, char *tag, char *revnum)
920 STAILQ_FOREACH(t, &rf->taglist, tag_next) {
923 STAILQ_REMOVE(&rf->taglist, t, tag, tag_next);
936 rcsfile_getdelta(struct rcsfile *rf, char *revnum)
940 LIST_FOREACH(d, &rf->deltatable, table_next) {
949 rcsfile_setval(struct rcsfile *rf, int field, char *val)
955 if (rf->head != NULL)
956 free(rf->head);
957 rf->head = xstrdup(val);
960 if (rf->branch != NULL)
961 free(rf->branch);
962 rf->branch = (val == NULL) ? NULL : xstrdup(val);
966 rf->strictlock = 1;
969 if (rf->comment != NULL)
970 free(rf->comment);
971 rf->comment = xstrdup(val);
977 rf->expand = keyword_decode_expand(val);
980 if (rf->desc != NULL)
981 free(rf->desc);
982 rf->desc = xstrdup(val);
1011 rcsfile_addelta(struct rcsfile *rf, char *revnum, char *revdate, char *author,
1020 d = rcsfile_getdelta(rf, revnum);
1029 d->diffbase = rcsfile_getdelta(rf, diffbase);
1032 b = rcsrev_istrunk(d->revnum) ? rf->trunk :
1033 rcsfile_getbranch(rf, d->revnum);
1043 d_bp = rcsfile_getdelta(rf, bprev);
1061 rcsfile_insertsorteddelta(rf, d);
1067 rcsfile_importdelta(struct rcsfile *rf, char *revnum, char *revdate, char *author,
1076 d = rcsfile_getdelta(rf, revnum);
1108 if (rf->ro) {
1110 rcsfile_insertsorteddelta(rf, d);
1114 rcsfile_insertsorteddelta(rf, d_next);
1119 b = rcsrev_istrunk(d->revnum) ? rf->trunk : rcsfile_getbranch(rf,
1130 d_bp = rcsfile_getdelta(rf, bprev);
1159 d_bp = rcsfile_getdelta(rf, bprev);
1167 rcsfile_insertsorteddelta(rf, d);
1177 rcsfile_insertsorteddelta(rf, d_next);
1184 rcsfile_getbranch(struct rcsfile *rf, char *revnum)
1192 d = rcsfile_getdelta(rf, bprev);
1231 rcsfile_insertsorteddelta(struct rcsfile *rf, struct delta *d)
1236 if (LIST_EMPTY(&rf->deltatable)) {
1237 LIST_INSERT_HEAD(&rf->deltatable, d, table_next);
1242 LIST_FOREACH(d2, &rf->deltatable, table_next) {