#include <sstream>
#include <vector>
-#include <dpl/log/log.h>
+#include <dpl/log/wrt_log.h>
#include <dpl/foreach.h>
#include <dpl/utils/folder_size.h>
namespace Utils {
size_t getFolderSize(const std::string& path)
{
+ char *errstr = NULL;
+ char errbuf[512] = {0,};
size_t size = 0;
FTS *fts;
FTSENT *ftsent;
if ((fts = fts_open(paths, FTS_PHYSICAL | FTS_NOCHDIR, NULL)) == NULL) {
//ERROR
int error = errno;
- LogWarning(__PRETTY_FUNCTION__ << ": fts_open failed with error: "
- << strerror(error));
+
+#ifdef _GNU_SOURCE
+ errstr = strerror_r(error, errbuf, sizeof(errbuf));
+#else
+ strerror_r(error, errbuf, sizeof(errbuf));
+ errstr = errbuf;
+#endif
+ WrtLogW("%s: fts_open failed with error: %s",
+ __PRETTY_FUNCTION__, errstr);
return 0;
}
case FTS_DNR:
case FTS_ERR:
default:
- LogWarning(__PRETTY_FUNCTION__
- << ": traversal failed on file: "
- << ftsent->fts_path
- << " with error: "
- << strerror(ftsent->fts_errno));
+#ifdef _GNU_SOURCE
+ errstr = strerror_r(ftsent->fts_errno, errbuf, sizeof(errbuf));
+#else
+ strerror_r(ftsent->fts_errno, errbuf, sizeof(errbuf));
+ errstr = errbuf;
+#endif
+ WrtLogW("%s: traversal failed on file: %s with error: %s",
+ __PRETTY_FUNCTION__, ftsent->fts_path,
+ errstr);
return 0;
}
}
if (fts_close(fts) == -1) {
int error = errno;
- LogWarning(__PRETTY_FUNCTION__ << ": fts_close failed with error: "
- << strerror(error));
+#ifdef _GNU_SOURCE
+ errstr = strerror_r(error, errbuf, sizeof(errbuf));
+#else
+ strerror_r(error, errbuf, sizeof(errbuf));
+ errstr = errbuf;
+#endif
+ WrtLogW("%s: fts_close failed with error: %s",
+ __PRETTY_FUNCTION__, errstr);
return 0;
}