Fix build failure caused by use of the deprecated readdir_r(3) while building with -Werror=deprecated-declarations Patch copied from upstream source repository: https://github.com/daveol/ola/commit/9d8575ff38f76df698ea8889e07a3dee8f21bd68 From 9d8575ff38f76df698ea8889e07a3dee8f21bd68 Mon Sep 17 00:00:00 2001 From: Dave Olsthoorn Date: Wed, 2 Mar 2016 11:22:17 +0100 Subject: [PATCH] Use readdir instead of readdir_r This replacec the use of readdir_r with readdir since readdir seems to be both dangarous and deprecated in newer versions of glibc. This fixes #1055 --- common/file/Util.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/common/file/Util.cpp b/common/file/Util.cpp index e2261fd..0ffddd3 100644 --- a/common/file/Util.cpp +++ b/common/file/Util.cpp @@ -128,30 +128,29 @@ bool FindMatchingFiles(const string &directory, FindClose(h_find); #else DIR *dp; - struct dirent dir_ent; - struct dirent *dir_ent_p; + struct dirent *dir_ent; if ((dp = opendir(directory.data())) == NULL) { OLA_WARN << "Could not open " << directory << ":" << strerror(errno); return false; } - if (readdir_r(dp, &dir_ent, &dir_ent_p)) { - OLA_WARN << "readdir_r(" << directory << "): " << strerror(errno); + if ((dir_ent = readdir(dp)) == NULL) { + OLA_WARN << "readdir(" << directory << "): " << strerror(errno); closedir(dp); return false; } - while (dir_ent_p != NULL) { + while (dir_ent != NULL) { vector::const_iterator iter; for (iter = prefixes.begin(); iter != prefixes.end(); ++iter) { - if (!strncmp(dir_ent_p->d_name, iter->data(), iter->size())) { + if (!strncmp(dir_ent->d_name, iter->data(), iter->size())) { std::ostringstream str; - str << directory << PATH_SEPARATOR << dir_ent_p->d_name; + str << directory << PATH_SEPARATOR << dir_ent->d_name; files->push_back(str.str()); } } - if (readdir_r(dp, &dir_ent, &dir_ent_p)) { - OLA_WARN << "readdir_r(" << directory << "): " << strerror(errno); + if ((dir_ent = readdir(dp)) == NULL) { + OLA_WARN << "readdir(" << directory << "): " << strerror(errno); closedir(dp); return false; } div>
AgeCommit message (Expand)Author
2019-01-09Remove most uses of the _IO*F constants....Ludovic Courtès
2018-12-17publish: Add a 'Cache-Control' header on /nar responses....Ludovic Courtès
2018-09-04Switch to Guile-Gcrypt....Ludovic Courtès
2018-03-22publish: Always build a new derivation for the "/log/NAME" test....Ludovic Courtès
2018-03-22publish: Add test for non-GET queries....Ludovic Courtès
2018-01-22publish: Restore gzip compression in cache-less mode....Ludovic Courtès
2018-01-07publish: Publish build logs....Ludovic Courtès
2017-12-01tests: Avoid double slash in URIs....Ludovic Courtès
2017-10-05publish: Cache uncompressed nars as well....Ludovic Courtès
2017-05-18publish: Fix narinfo rendering for already-compressed items....Ludovic Courtès
2017-05-11publish: Advertise a short TTL for "baking" 404s....Ludovic Courtès
2017-05-01publish: Produce a "FileSize" narinfo field when possible....Ludovic Courtès
2017-04-18publish: Add '--cache' and '--workers'....Ludovic Courtès
2017-03-22publish: Make the nar URL prefix a parameter....