(remove_cwd_entries): Change the while(dp...) to a while(1) loop,
authorJim Meyering <jim@meyering.net>
Fri, 17 Oct 1997 18:06:34 +0000 (18:06 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 17 Oct 1997 18:06:34 +0000 (18:06 +0000)
and move dcl and assignment of dp into the loop.

src/rm.c

index 0136f88..29b6f12 100644 (file)
--- a/src/rm.c
+++ b/src/rm.c
@@ -537,7 +537,6 @@ remove_cwd_entries (void)
      due either to an error or to an interactive `no' response.  */
   struct HT *ht = NULL;
 
-  struct dirent *dp;
   enum RM_status status = RM_OK;
 
   if (dirp)
@@ -553,7 +552,9 @@ remove_cwd_entries (void)
 
   do
     {
+      /* FIXME: why do this?  */
       errno = 0;
+
       dirp = opendir (".");
       if (dirp == NULL)
        {
@@ -565,11 +566,16 @@ remove_cwd_entries (void)
          break;
        }
 
-      while ((dp = readdir (dirp)) != NULL)
+      while (1)
        {
          char *entry_name;
          struct File_spec fs;
          enum RM_status tmp_status;
+         struct dirent *dp;
+
+         dp = readdir (dirp);
+         if (dp == NULL)
+           break;
 
          /* Skip this entry if it's `.' or `..'.  */
          if (DOT_OR_DOTDOT (dp->d_name))