Lines Matching refs:frp
72 FREF *frp, *tfrp;
85 TAILQ_FOREACH_SAFE(frp, &gp->frefq, q, tfrp) {
86 if (frp->name == NULL) {
87 TAILQ_REMOVE(&gp->frefq, frp, q);
88 if (frp->name != NULL)
89 free(frp->name);
90 free(frp);
93 if (!strcmp(frp->name, name))
94 return (frp);
98 CALLOC(sp, frp, FREF *, 1, sizeof(FREF));
99 if (frp == NULL)
108 (frp->name = strdup(name)) == NULL) {
109 free(frp);
115 TAILQ_INSERT_TAIL(&gp->frefq, frp, q);
117 return (frp);
129 file_init(SCR *sp, FREF *frp, char *rcv_name, int flags)
146 if (F_ISSET(frp, FR_RECOVER)) {
147 F_CLR(frp, FR_RECOVER);
148 return (rcv_read(sp, frp));
152 * Required FRP initialization; the only flag we keep is the
155 F_CLR(frp, ~FR_CURSORSET);
161 if (file_spath(sp, frp, &sb, &exists))
199 oname = frp->name;
212 if (frp->name == NULL)
213 F_SET(frp, FR_TMPFILE);
214 if ((frp->tname = strdup(tname)) == NULL ||
215 (frp->name == NULL &&
216 (frp->name = strdup(tname)) == NULL)) {
217 if (frp->tname != NULL) {
218 free(frp->tname);
224 oname = frp->tname;
227 F_SET(frp, FR_NEWFILE);
258 rcv_tmp(sp, ep, frp->name);
291 set_alt_name(sp, sp->frp == NULL ||
292 F_ISSET(sp->frp, FR_TMPFILE) ? NULL : sp->frp->name);
307 * Side-effect: after the call to file_end(), sp->frp may be NULL.
310 F_SET(frp, FR_DONTDELETE);
316 F_CLR(frp, FR_DONTDELETE);
345 F_SET(frp, FR_UNLOCKED);
401 (!F_ISSET(frp, FR_NEWFILE) &&
403 access(frp->name, W_OK))))
412 sp->frp = frp;
423 if (frp->lno == OOBLNO)
432 err: if (frp->name != NULL) {
433 free(frp->name);
434 frp->name = NULL;
436 if (frp->tname != NULL) {
437 (void)unlink(frp->tname);
438 free(frp->tname);
439 frp->tname = NULL;
455 file_init(sp, frp, rcv_name, flags | FS_OPENERR) : 1);
464 file_spath(SCR *sp, FREF *frp, struct stat *sbp, int *existsp)
475 name = frp->name;
513 free(frp->name);
514 frp->name = q;
559 if (gp->c_option != NULL && !F_ISSET(sp->frp, FR_NEWFILE)) {
581 if (F_ISSET(sp->frp, FR_CURSORSET)) {
582 sp->lno = sp->frp->lno;
583 sp->cno = sp->frp->cno;
638 FREF *frp;
663 frp = sp->frp;
664 frp->lno = sp->lno;
665 frp->cno = sp->cno;
666 F_SET(frp, FR_CURSORSET);
676 if (!F_ISSET(frp, FR_DONTDELETE) && frp->tname != NULL) {
677 if (unlink(frp->tname))
678 msgq_str(sp, M_SYSERR, frp->tname, "240|%s: remove");
679 free(frp->tname);
680 frp->tname = NULL;
681 if (F_ISSET(frp, FR_TMPFILE)) {
682 TAILQ_REMOVE(&sp->gp->frefq, frp, q);
683 if (frp->name != NULL)
684 free(frp->name);
685 free(frp);
687 sp->frp = NULL;
698 msgq_str(sp, M_DBERR, frp->name, "241|%s: close");
777 FREF *frp;
786 frp = sp->frp;
792 if (name == NULL || !strcmp(name, frp->name)) {
794 name = frp->name;
809 if ((!noname || F_ISSET(frp, FR_NAMECHANGE)) &&
954 F_CLR(frp, FR_NAMECHANGE);
966 if (F_ISSET(frp, FR_TMPFILE)) {
968 F_SET(frp, FR_TMPEXIT);
970 F_CLR(frp, FR_TMPEXIT);
1351 if (F_ISSET(sp->frp, FR_TMPEXIT) && ep->refcnt <= 1 && !force) {