Git fork
at reftables-rust 28 lines 737 B view raw
1#ifndef SYMLINKS_H 2#define SYMLINKS_H 3 4#include "strbuf.h" 5 6struct cache_def { 7 struct strbuf path; 8 int flags; 9 int track_flags; 10 int prefix_len_stat_func; 11}; 12#define CACHE_DEF_INIT { \ 13 .path = STRBUF_INIT, \ 14} 15static inline void cache_def_clear(struct cache_def *cache) 16{ 17 strbuf_release(&cache->path); 18} 19 20int has_symlink_leading_path(const char *name, int len); 21int threaded_has_symlink_leading_path(struct cache_def *, const char *, int); 22int check_leading_path(const char *name, int len, int warn_on_lstat_err); 23int has_dirs_only_path(const char *name, int len, int prefix_len); 24void invalidate_lstat_cache(void); 25void schedule_dir_for_removal(const char *name, int len); 26void remove_scheduled_dirs(void); 27 28#endif /* SYMLINKS_H */