ref_walk_cur
for (; ref <= ref_walk_cur(rw); ref++) {
struct dfs_ref *ref = ref_walk_cur(rw) - 1;
#define ref_walk_descend(w) (--ref_walk_cur(w) >= ref_walk_start(w))
#define ref_walk_tit(w) (ref_walk_cur(w)->tit)
#define ref_walk_path(w) (ref_walk_cur(w)->path)
#define ref_walk_fpath(w) (ref_walk_cur(w)->full_path)
#define ref_walk_tl(w) (&ref_walk_cur(w)->tl)
#define ref_walk_ses(w) (ref_walk_cur(w)->ses)
ref_walk_cur(rw) = ref_walk_start(rw);
struct dfs_ref *ref = ref_walk_cur(rw) + 1;
ref_walk_cur(rw) = ref;
struct dfs_ref *ref = ref_walk_cur(rw);