Lines Matching refs:fp

76 static errmask_t check_file(struct file *fp);
77 static diffmask_t check_changes(struct file *fp, int first, int second);
78 static int prune_file(struct file *fp);
79 static void queue_file(struct file *fp);
113 struct file *fp;
127 for (fp = bp->b_files; fp; fp = fp->f_next)
128 if (fp->f_flags & F_EVALUATE)
129 errs |= find_renames(fp);
150 for (fp = bp->b_files; fp; fp = fp->f_next)
151 if (fp->f_flags & (F_EVALUATE|F_STAT_ERROR))
152 errs |= check_file(fp);
197 for (fp = changes; fp; fp = fp->f_rnext)
198 if (aborted || (fp->f_flags & F_STAT_ERROR)) {
199 fp->f_flags |= F_CONFLICT;
201 if ((fp->f_flags & F_IN_BASELINE) == 0)
202 fp->f_flags |= F_REMOVE;
203 fp->f_problem = aborted ? PROB_aborted : PROB_restat;
204 (fp->f_base)->b_unresolved++;
210 fp->f_fullname);
212 err = reconcile(fp);
236 prune_file(struct file *fp)
241 if ((fp->f_flags & (F_EVALUATE|F_STAT_ERROR)) == 0) {
242 fp->f_flags |= F_REMOVE;
245 fprintf(stderr, "ANAL: PRUNE %s\n", fp->f_name);
249 for (cp = fp->f_files; cp; cp = cp->f_next)
269 struct file *fp;
273 for (fp = bp->b_files; fp; fp = fp->f_next)
274 prunes += prune_file(fp);
293 struct file *fp;
317 for (fp = changes; fp; fp = fp->f_rnext) {
318 if (fp->f_base != bp)
320 if ((fp->f_flags & F_CONFLICT) == 0)
322 fprintf(stderr, "\t\t%s (%s)\n", fp->f_fullname,
323 fp->f_problem ? fp->f_problem : "???");
355 check_file(struct file *fp)
359 if ((fp->f_flags & F_STAT_ERROR) == 0) {
361 fp->f_info[OPT_BASE].f_modtime = fp->f_s_modtime;
362 fp->f_info[OPT_BASE].f_ino = fp->f_s_inum;
363 fp->f_info[OPT_BASE].f_d_maj = fp->f_s_maj;
364 fp->f_info[OPT_BASE].f_d_min = fp->f_s_min;
365 fp->f_info[OPT_BASE].f_nlink = fp->f_s_nlink;
366 fp->f_srcdiffs |= check_changes(fp, OPT_BASE, OPT_SRC);
369 fp->f_info[OPT_BASE].f_modtime = fp->f_d_modtime;
370 fp->f_info[OPT_BASE].f_ino = fp->f_d_inum;
371 fp->f_info[OPT_BASE].f_d_maj = fp->f_d_maj;
372 fp->f_info[OPT_BASE].f_d_min = fp->f_d_min;
373 fp->f_info[OPT_BASE].f_nlink = fp->f_d_nlink;
374 fp->f_dstdiffs |= check_changes(fp, OPT_BASE, OPT_DST);
377 if ((fp->f_flags & (F_IN_SOURCE|F_IN_DEST)) == 0) {
378 fp->f_srcdiffs |= D_DELETE;
379 fp->f_dstdiffs |= D_DELETE;
383 if ((fp->f_dstdiffs | fp->f_srcdiffs) & D_DELETE) {
387 if (fp->f_files)
393 if (fp->f_srcdiffs || fp->f_dstdiffs || fp->f_flags & F_STAT_ERROR) {
394 queue_file(fp);
398 showflags(diffmap, fp->f_srcdiffs));
400 showflags(diffmap, fp->f_dstdiffs));
402 showflags(fileflags, fp->f_flags));
403 fprintf(stderr, " name=%s\n", fp->f_fullname);
408 fp->f_base->b_totfiles++;
412 if (fp->f_files == 0)
427 push_name(fp->f_name);
429 for (cp = fp->f_files; cp; cp = cp->f_next) {
430 if (fp->f_flags & F_STAT_ERROR)
461 check_changes(struct file *fp, int ref, int new)
466 rp = &fp->f_info[ref];
467 np = &fp->f_info[new];
648 find_link(struct file *fp, side_t srcdst)
657 fcp = &fp->f_info[chgside];
658 ftp = &fp->f_info[tgtside];
685 if (fp == lp)
727 if ((fp->f_base != lp->f_base) && same_name(fp, lp, chgside))
732 fp->f_fullname, lp->f_fullname);
749 if (fp == lp)
804 fp->f_fullname, lp->f_fullname);
832 has_other_links(struct file *fp, side_t srcdst)
836 fip = &fp->f_info[srcdst];
845 if (fp == lp)
908 link_update(struct file *fp, side_t which)
913 if (lp == fp)
917 if (lp->f_info[which].f_ino != fp->f_info[which].f_ino)
919 if (lp->f_info[which].f_d_maj != fp->f_info[which].f_d_maj)
921 if (lp->f_info[which].f_d_min != fp->f_info[which].f_d_min)
929 lp->f_info[which].f_type = fp->f_info[which].f_type;
930 lp->f_info[which].f_size = fp->f_info[which].f_size;
931 lp->f_info[which].f_mode = fp->f_info[which].f_mode;
932 lp->f_info[which].f_uid = fp->f_info[which].f_uid;
933 lp->f_info[which].f_gid = fp->f_info[which].f_gid;
934 lp->f_info[which].f_modtime = fp->f_info[which].f_modtime;
935 lp->f_info[which].f_modns = fp->f_info[which].f_modns;
936 lp->f_info[which].f_nlink = fp->f_info[which].f_nlink;
937 lp->f_info[which].f_rd_maj = fp->f_info[which].f_rd_maj;
938 lp->f_info[which].f_rd_min = fp->f_info[which].f_rd_min;
977 queue_file(struct file *fp)
986 if ((fp->f_srcdiffs|fp->f_dstdiffs) & D_DELETE) {
990 fp->f_modtime = TIME_LONG - fp->f_depth;
991 } else if (fp->f_info[OPT_SRC].f_type != S_IFDIR &&
992 fp->f_info[OPT_DST].f_type != S_IFDIR) {
996 fp->f_modtime = fp->f_info[OPT_SRC].f_modtime;
997 fp->f_modns = fp->f_info[OPT_SRC].f_modns;
998 if (fp->f_modtime < fp->f_info[OPT_DST].f_modtime) {
999 fp->f_modtime = fp->f_info[OPT_DST].f_modtime;
1000 fp->f_modns = fp->f_info[OPT_DST].f_modns;
1007 fp->f_modtime = TIME_ZERO;
1015 if (fp->f_modtime > np->f_modtime)
1017 if (fp->f_modtime < np->f_modtime)
1019 if (fp->f_modns < np->f_modns)
1023 fp->f_fullname = strdup(get_name(fp));
1024 fp->f_rnext = np;
1025 *pp = fp;
1090 *get_name(struct file *fp)
1096 i = namelen + 1 + strlen(fp->f_name);
1111 strcat(namebuf, fp->f_name);