ExpandFile
static char *ef_expand_special(ExpandFile *ef, const char *path, int pathlen)
static int ef_record_pathname(ExpandFile *ef, const char *pathname,
static char *ef_cache_pathname(ExpandFile *ef, const char *pathname,
static void ef_clear_files(ExpandFile *ef);
static DirNode *ef_open_dir(ExpandFile *ef, const char *pathname);
static DirNode *ef_close_dir(ExpandFile *ef, DirNode *node);
static char *ef_expand_special(ExpandFile *ef, const char *path, int pathlen);
static int ef_match_relative_pathname(ExpandFile *ef, DirReader *dr,
const char *ef_last_error(ExpandFile *ef)
ExpandFile *new_ExpandFile(void)
ExpandFile *ef; /* The object to be returned */
ef = (ExpandFile *) malloc(sizeof(ExpandFile));
ExpandFile *del_ExpandFile(ExpandFile *ef)
FileExpansion *ef_expand_file(ExpandFile *ef, const char *path, int pathlen)
static int ef_match_relative_pathname(ExpandFile *ef, DirReader *dr,
static int ef_record_pathname(ExpandFile *ef, const char *pathname,
static char *ef_cache_pathname(ExpandFile *ef, const char *pathname,
static void ef_clear_files(ExpandFile *ef)
static DirNode *ef_open_dir(ExpandFile *ef, const char *pathname)
static DirNode *ef_close_dir(ExpandFile *ef, DirNode *node)
ExpandFile *ef; /* ~user/, $envvar and wildcard expansion */
typedef struct ExpandFile ExpandFile;
ExpandFile *new_ExpandFile(void);
ExpandFile *del_ExpandFile(ExpandFile *ef);
FileExpansion *ef_expand_file(ExpandFile *ef, const char *path, int pathlen);
const char *ef_last_error(ExpandFile *ef);