From fec3fd1f8ac1db9ed87b79bd3eb5e38aa835e881 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 26 Jul 2014 13:30:40 -0500 Subject: Move DIRTREE_COMEAGAIN second callback up to when the filehandle is still open, and add dir->again variable to distinguish second call instead of checking for -1 filehandle. --- toys/other/lsattr.c | 2 +- toys/other/switch_root.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'toys/other') diff --git a/toys/other/lsattr.c b/toys/other/lsattr.c index 937ea608..39945ef0 100644 --- a/toys/other/lsattr.c +++ b/toys/other/lsattr.c @@ -140,7 +140,7 @@ static int retell_dir(struct dirtree *root) { char *fpath = NULL; - if (root->data == -1) { + if (root->again) { xputc('\n'); return 0; } diff --git a/toys/other/switch_root.c b/toys/other/switch_root.c index 1dfa20de..0861c70e 100644 --- a/toys/other/switch_root.c +++ b/toys/other/switch_root.c @@ -32,7 +32,7 @@ static int del_node(struct dirtree *node) if (node->st.st_dev == TT.rootdev && dirtree_notdotdot(node)) { int flag = 0; if (S_ISDIR(node->st.st_mode)) { - if (node->data != -1) return DIRTREE_COMEAGAIN; + if (!node->again) return DIRTREE_COMEAGAIN; flag = AT_REMOVEDIR; } unlinkat(dirtree_parentfd(node), node->name, flag); -- cgit v1.2.3