diff options
-rw-r--r-- | libs/pbd/id.cc | 21 | ||||
-rw-r--r-- | libs/pbd/pbd/id.h | 5 |
2 files changed, 13 insertions, 13 deletions
diff --git a/libs/pbd/id.cc b/libs/pbd/id.cc index 9a610c7418..6898da2d12 100644 --- a/libs/pbd/id.cc +++ b/libs/pbd/id.cc @@ -26,6 +26,8 @@ #include <inttypes.h> #include "pbd/id.h" +#include "pbd/string_convert.h" + #include <string> using namespace std; @@ -63,10 +65,10 @@ ID::reset () _id = _counter++; } -int +bool ID::string_assign (string str) { - return sscanf (str.c_str(), "%" PRIu64, &_id) != 0; + return string_to_uint64 (str, _id); } void @@ -75,17 +77,16 @@ ID::print (char* buf, uint32_t bufsize) const snprintf (buf, bufsize, "%" PRIu64, _id); } -string ID::to_s() const +std::string +ID::to_s () const { - char buf[32]; // see print() - print(buf, sizeof (buf)); - return string(buf); + return to_string (_id); } bool ID::operator== (const string& str) const { - return to_s() == str; + return to_string (_id) == str; } ID& @@ -105,11 +106,9 @@ ID::operator= (const ID& other) } ostream& -operator<< (ostream& ostr, const ID& _id) +operator<< (ostream& ostr, const ID& id) { - char buf[32]; - _id.print (buf, sizeof (buf)); - ostr << buf; + ostr << id.to_s(); return ostr; } diff --git a/libs/pbd/pbd/id.h b/libs/pbd/pbd/id.h index 5316e7c20e..ca62b10dc2 100644 --- a/libs/pbd/pbd/id.h +++ b/libs/pbd/pbd/id.h @@ -56,7 +56,8 @@ class LIBPBD_API ID { } void print (char* buf, uint32_t bufsize) const; - std::string to_s() const; + + std::string to_s () const; static uint64_t counter() { return _counter; } static void init_counter (uint64_t val) { _counter = val; } @@ -64,7 +65,7 @@ class LIBPBD_API ID { private: uint64_t _id; - int string_assign (std::string); + bool string_assign (std::string); static Glib::Threads::Mutex* counter_lock; static uint64_t _counter; |