From 1afb1cfea4f2ea66962faef01d729014bdc9eb56 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 8 Feb 2010 19:37:51 +0000 Subject: [PATCH] add variants of atoi etc. for std::string git-svn-id: svn://localhost/ardour2/branches/3.0@6651 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/convert.cc | 19 +++++++++++++++++-- libs/pbd/pbd/convert.h | 10 ++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/libs/pbd/convert.cc b/libs/pbd/convert.cc index 617fbec473..0610567102 100644 --- a/libs/pbd/convert.cc +++ b/libs/pbd/convert.cc @@ -106,6 +106,18 @@ atoi (const string& s) return ::atoi (s.c_str()); } +int32_t +atol (const string& s) +{ + return (int32_t) ::atol (s.c_str()); +} + +int64_t +atoll (const string& s) +{ + return (int64_t) ::atoll (s.c_str()); +} + double atof (const string& s) { @@ -282,11 +294,14 @@ length2string (const int64_t frames, const double sample_rate) return duration_str; } + static bool chars_equal_ignore_case(char x, char y) { - static std::locale loc; - return toupper(x, loc) == toupper(y, loc); + /* app should have called setlocale() if its wants this comparison to be + locale sensitive. + */ + return toupper (x) == toupper (y); } bool diff --git a/libs/pbd/pbd/convert.h b/libs/pbd/pbd/convert.h index f8358e8801..e6e063bf41 100644 --- a/libs/pbd/pbd/convert.h +++ b/libs/pbd/pbd/convert.h @@ -31,10 +31,12 @@ namespace PBD { std::string short_version (std::string, std::string::size_type target_length); -int atoi (const std::string&); -double atof (const std::string&); -void url_decode (std::string&); -void url_decode (Glib::ustring&); +int atoi (const std::string&); +int32_t atol (const std::string&); +int64_t atoll (const std::string&); +double atof (const std::string&); +void url_decode (std::string&); +void url_decode (Glib::ustring&); // std::string length2string (const int32_t frames, const float sample_rate); std::string length2string (const int64_t frames, const double sample_rate);