This attempts to follow the same variable name and usage patterns as
the other conversions to virDirRead().
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;
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, ".") ||
VIR_FREE(newPath);
VIR_FREE(contents);
}
+ if (direrr < 0)
+ goto cleanup;
ret = 0;
cleanup: