From eea0401d7a8ed1292f71d697e7a59c429aa18d5d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 1 Aug 2014 17:30:51 +0200 Subject: [PATCH] Eliminate redundant copy --- src/libutil/util.cc | 2 +- src/libutil/util.hh | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 7dc6fe72a..595e7243e 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -216,7 +216,7 @@ DirEntries readDirectory(const Path & path) checkInterrupt(); string name = dirent->d_name; if (name == "." || name == "..") continue; - entries.emplace_back(DirEntry({ name, dirent->d_ino, dirent->d_type })); + entries.emplace_back(name, dirent->d_ino, dirent->d_type); } if (errno) throw SysError(format("reading directory `%1%'") % path); diff --git a/src/libutil/util.hh b/src/libutil/util.hh index 42215eb1d..ade52c354 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -69,6 +69,8 @@ struct DirEntry string name; ino_t ino; unsigned char type; // one of DT_* + DirEntry(const string & name, ino_t ino, unsigned char type) + : name(name), ino(ino), type(type) { } }; typedef vector DirEntries;