better comment change
[ardour.git] / libs / pbd / convert.cc
index 2ce99ba631c864413442b0c121c1ce6da505e91a..bda0683910661f6f9e352fbe86e7fd8ff85c7795 100644 (file)
@@ -19,6 +19,9 @@
 
 #include <cmath>
 #include <stdint.h>
+#include <stdlib.h>
+#include <cstdio>
+#include <ctype.h>
 #ifndef __STDC_FORMAT_MACROS
 #define __STDC_FORMAT_MACROS
 #endif
@@ -34,6 +37,17 @@ using Glib::ustring;
 
 namespace PBD {
 
+string
+capitalize (const string& str)
+{
+        string ret = str;
+        if (!str.empty()) {
+                /* XXX not unicode safe */
+                ret[0] = toupper (str[0]);
+        }
+        return ret;
+}
+
 string
 short_version (string orig, string::size_type target_length)
 {
@@ -101,13 +115,25 @@ short_version (string orig, string::size_type target_length)
 int
 atoi (const string& s)
 {
-       return std::atoi (s.c_str());
+       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)
 {
-       return std::atof (s.c_str());
+       return ::atof (s.c_str());
 }
 
 vector<string>
@@ -280,11 +306,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