From 726408053698083bba0bbed994bc8d451099777e Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Fri, 26 Feb 2010 13:09:45 +0100 Subject: [PATCH] [Positioning] Check code with cppcheck - Replace occurences of `container.size() == 0` with `container.empty()`. - Fix an allocation in posexcept.cc (false positive?). - UserInterface: in constructor, handle bad_alloc exception possibly thrown by `new`. --- owlps-positioning/measurement.cc | 4 ++-- owlps-positioning/posexcept.cc | 6 ++++-- owlps-positioning/referencepoint.cc | 2 +- owlps-positioning/request.cc | 2 +- owlps-positioning/userinterface.cc | 12 ++++++++++-- owlps-positioning/waypoint.cc | 2 +- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/owlps-positioning/measurement.cc b/owlps-positioning/measurement.cc index 3a58280..331a100 100644 --- a/owlps-positioning/measurement.cc +++ b/owlps-positioning/measurement.cc @@ -95,7 +95,7 @@ void Measurement::clear() void Measurement::update_average_ss() { - if (ss_list.size() == 0) + if (ss_list.empty()) { average_ss = 0 ; return ; @@ -151,7 +151,7 @@ ostream &operator<<(ostream &os, const Measurement &m) << ": " ; // List of SS - if (m.ss_list.size() == 0) + if (m.ss_list.empty()) os << "No values" ; else for (vector::const_iterator i = m.ss_list.begin() ; diff --git a/owlps-positioning/posexcept.cc b/owlps-positioning/posexcept.cc index b675897..e187c2b 100644 --- a/owlps-positioning/posexcept.cc +++ b/owlps-positioning/posexcept.cc @@ -5,8 +5,10 @@ using namespace std ; -bad_direction::bad_direction(const char _direction) throw(): - direction(_direction) {} +bad_direction::bad_direction(const char _direction) throw() +{ + direction = _direction ; +} const char* bad_direction::what() const throw() diff --git a/owlps-positioning/referencepoint.cc b/owlps-positioning/referencepoint.cc index 9377ba3..0f6cfc3 100644 --- a/owlps-positioning/referencepoint.cc +++ b/owlps-positioning/referencepoint.cc @@ -159,7 +159,7 @@ ostream &operator<<(ostream &os, const ReferencePoint &rp) os << (Point3D) rp << '\n' ; // List of requests - if (rp.requests.size() == 0) + if (rp.requests.empty()) os << "No request." << '\n' ; else for (vector::const_iterator diff --git a/owlps-positioning/request.cc b/owlps-positioning/request.cc index ae0b9e4..077934a 100644 --- a/owlps-positioning/request.cc +++ b/owlps-positioning/request.cc @@ -112,7 +112,7 @@ ostream &operator<<(ostream &os, const Request &r) << ":" ; // List of Measurements - if (r.measurements.size() == 0) + if (r.measurements.empty()) os << " No values" ; else for (unordered_map::const_iterator i diff --git a/owlps-positioning/userinterface.cc b/owlps-positioning/userinterface.cc index 1067bca..5b82d04 100644 --- a/owlps-positioning/userinterface.cc +++ b/owlps-positioning/userinterface.cc @@ -26,8 +26,16 @@ UserInterface::UserInterface(const int argc, char **argv) cli_argument_values = argv ; config_file_name = DEFAULT_CONFIG_FILE_NAME ; - cli_options = new po::options_description("General options") ; - file_options = new po::options_description("Parameters") ; + try + { + cli_options = new po::options_description("General options") ; + file_options = new po::options_description("Parameters") ; + } + catch (bad_alloc e) + { + throw ; + } + fill_options() ; parse_options() ; diff --git a/owlps-positioning/waypoint.cc b/owlps-positioning/waypoint.cc index 4d776f7..6a5783b 100644 --- a/owlps-positioning/waypoint.cc +++ b/owlps-positioning/waypoint.cc @@ -80,7 +80,7 @@ ostream &operator<<(ostream &os, const Waypoint &wp) os << (Point3D) wp ; // List of buildings - if (wp.buildings.size() == 0) + if (wp.buildings.empty()) os << '\n' << "Belongs to no building!" ; else for (vector::const_iterator i = wp.buildings.begin() ;