blob: 30fdb8bf14e3fcac9348992acb2a5f8df5d4b894 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001From 38c5343f84799fc5041575f3ec808f7476b6eea3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 16 Apr 2018 14:33:35 -0700
4Subject: [PATCH] Catch std::ifstream::failure by reference
5
6Fixes
7error: catching polymorphic type 'class std::ios_base::failure' by value
8[-Werror=catch-value=]
9 } catch (std::ofstream::failure) {
10 ^~~~~~~
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14---
15 src/base/conf.cc | 4 ++--
16 src/dtm/dtmnd/dtm_main.cc | 2 +-
17 src/dtm/dtmnd/multicast.cc | 2 +-
18 3 files changed, 4 insertions(+), 4 deletions(-)
19
20diff --git a/src/base/conf.cc b/src/base/conf.cc
21index d5755a1..4820357 100644
22--- a/src/base/conf.cc
23+++ b/src/base/conf.cc
24@@ -189,7 +189,7 @@ std::string Conf::ReadFile(const std::string& path_name,
25 try {
26 str.open(path_name);
27 str >> contents;
28- } catch (std::ifstream::failure) {
29+ } catch (std::ifstream::failure& e) {
30 contents.clear();
31 }
32 return (str.fail() || contents.empty()) ? default_contents : contents;
33@@ -203,7 +203,7 @@ void Conf::WriteFileAtomically(const std::string& path_name,
34 try {
35 str.open(tmp_file, std::ofstream::out | std::ofstream::trunc);
36 str << contents << std::endl;
37- } catch (std::ofstream::failure) {
38+ } catch (std::ofstream::failure& e) {
39 success = false;
40 }
41 str.close();
42diff --git a/src/dtm/dtmnd/dtm_main.cc b/src/dtm/dtmnd/dtm_main.cc
43index 585e11e..5cf6ad7 100644
44--- a/src/dtm/dtmnd/dtm_main.cc
45+++ b/src/dtm/dtmnd/dtm_main.cc
46@@ -367,7 +367,7 @@ void UpdateNodeIdFile(DTM_INTERNODE_CB *cb) {
47 try {
48 str.open(PKGLOCALSTATEDIR "/node_id", std::ofstream::out);
49 str << std::hex << node_id << std::endl;
50- } catch (std::ofstream::failure) {
51+ } catch (std::ofstream::failure& e) {
52 }
53 str.close();
54 }
55diff --git a/src/dtm/dtmnd/multicast.cc b/src/dtm/dtmnd/multicast.cc
56index cadc002..7c25fea 100644
57--- a/src/dtm/dtmnd/multicast.cc
58+++ b/src/dtm/dtmnd/multicast.cc
59@@ -199,7 +199,7 @@ bool Multicast::GetPeersFromFile(const std::string &path_name) {
60 }
61 }
62 }
63- } catch (std::ifstream::failure) {
64+ } catch (std::ifstream::failure& e) {
65 LOG_ER("Caught std::ifstream::failure when reading file '%s', peers=%zu",
66 path_name.c_str(), static_cast<size_t>(peers_.size()));
67 peers_.clear();