about summary refs log tree commit diff
path: root/src/libutil
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/types.hh1
-rw-r--r--src/libutil/util.cc10
2 files changed, 9 insertions, 2 deletions
diff --git a/src/libutil/types.hh b/src/libutil/types.hh
index 160884ee1ad7..030996a060e2 100644
--- a/src/libutil/types.hh
+++ b/src/libutil/types.hh
@@ -73,6 +73,7 @@ class SysError : public Error
 public:
     int errNo;
     SysError(const FormatOrString & fs);
+    SysError(int errNo, const FormatOrString & fs);
 };
 
 
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 305e470ebde0..60be02cd4647 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -45,8 +45,14 @@ BaseError & BaseError::addPrefix(const FormatOrString & fs)
 
 
 SysError::SysError(const FormatOrString & fs)
-    : Error(format("%1%: %2%") % fs.s % strerror(errno))
-    , errNo(errno)
+    : SysError(errno, fs)
+{
+}
+
+
+SysError::SysError(int errNo, const FormatOrString & fs)
+    : Error(format("%1%: %2%") % fs.s % strerror(errNo))
+    , errNo(errNo)
 {
 }