diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/pbd/convert.cc | 19 | ||||
-rw-r--r-- | 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); |