Lines Matching defs:ent
98 mark(Dt_t* dict, Hit_t* key, FTSENT* ent)
112 error(1, "%s: file id dictionary out of space", ent->fts_path);
120 register FTSENT* ent;
224 while (ent = fts_read(fts))
226 if (ent->fts_info != FTS_DP)
228 if (multiple && !ent->fts_level)
230 if (s = strrchr(ent->fts_path, '/'))
233 d = ent->fts_path;
246 fts_set(NiL, ent, FTS_SKIP);
252 hit.id.dev = ent->fts_statp->st_dev;
253 hit.id.ino = ent->fts_statp->st_ino;
256 fts_set(NiL, ent, FTS_SKIP);
262 switch (ent->fts_info)
266 error(ERROR_SYSTEM|2, "%s: not found", ent->fts_path);
269 if (!(ent->fts_pointer = newof(0, Count_t, 1, 0)))
272 mark(dict, &hit, ent);
276 error(2, "%s: directory causes cycle", ent->fts_path);
280 error(ERROR_SYSTEM|2, "%s: cannot read directory", ent->fts_path);
284 error(ERROR_SYSTEM|2, "%s: cannot search directory", ent->fts_path);
285 fts_set(NiL, ent, FTS_SKIP);
288 if (ent->fts_pointer)
290 n = *(Count_t*)ent->fts_pointer;
291 free(ent->fts_pointer);
297 fts_set(NiL, ent, FTS_FOLLOW);
302 if (ent->fts_statp->st_nlink > 1 || dirs && !ent->fts_level)
303 mark(dict, &hit, ent);
308 b = iblocks(ent->fts_statp);
311 if (ent->fts_parent->fts_pointer)
312 *(Count_t*)ent->fts_parent->fts_pointer += n;
313 if (!total && (list || ent->fts_level <= 0))
316 sfprintf(sfstdout, "%s\t%s\n", fmtscale((Sfulong_t)n * blocksize, scale), ent->fts_path);
318 sfprintf(sfstdout, "%I*u\t%s\n", sizeof(Count_t), BLOCKS(n), ent->fts_path);