[libvirt] [PATCHv2 6.5/7] network: use virDirRead in networkMigrateStateFiles

Laine Stump laine at laine.org
Mon Apr 28 10:45:15 UTC 2014


This attempts to follow the same variable name and usage patterns as
the other conversions to virDirRead().
---
 src/network/bridge_driver.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 4e8375d..5233833 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -463,6 +463,7 @@ networkMigrateStateFiles(virNetworkDriverStatePtr driver)
     int ret = -1;
     const char *oldStateDir = LOCALSTATEDIR "/lib/libvirt/network";
     DIR *dir;
+    int direrr;
     struct dirent *entry;
     char *oldPath = NULL, *newPath = NULL;
     char *contents = NULL;
@@ -482,17 +483,7 @@ networkMigrateStateFiles(virNetworkDriverStatePtr driver)
         goto cleanup;
     }
 
-    for (;;) {
-        errno = 0;
-        entry = readdir(dir);
-        if (!entry) {
-            if (errno) {
-                virReportSystemError(errno, _("failed to read directory '%s'"),
-                                     oldStateDir);
-                goto cleanup;
-            }
-            break;
-        }
+    while ((direrr = virDirRead(dir, &entry, oldStateDir)) > 0) {
 
         if (entry->d_type != DT_REG ||
             STREQ(entry->d_name, ".") ||
@@ -520,6 +511,8 @@ networkMigrateStateFiles(virNetworkDriverStatePtr driver)
         VIR_FREE(newPath);
         VIR_FREE(contents);
     }
+    if (direrr < 0)
+       goto cleanup;
 
     ret = 0;
  cleanup:
-- 
1.9.0




More information about the libvir-list mailing list