diff --git a/src/easy/easy.hpp b/src/easy/easy.hpp index dff68f7..307ce6b 100644 --- a/src/easy/easy.hpp +++ b/src/easy/easy.hpp @@ -335,6 +335,8 @@ public: */ const std::vector get_vector(const string &key) const; + const std::uint_fast64_t stouint64(const string &str) const; + private: Json::Value _tree; bool _valid; diff --git a/src/easy/entities/account.cpp b/src/easy/entities/account.cpp index 92cde18..6e073d6 100644 --- a/src/easy/entities/account.cpp +++ b/src/easy/entities/account.cpp @@ -75,7 +75,7 @@ const string Account::header_static() const const std::uint_fast64_t Account::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const bool Account::locked() const diff --git a/src/easy/entities/attachment.cpp b/src/easy/entities/attachment.cpp index d91a7a0..b0cc4b7 100644 --- a/src/easy/entities/attachment.cpp +++ b/src/easy/entities/attachment.cpp @@ -103,7 +103,7 @@ const uint_fast64_t Attachment::height_small() const const std::uint_fast64_t Attachment::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const string Attachment::preview_url() const diff --git a/src/easy/entities/list.cpp b/src/easy/entities/list.cpp index 9b0e413..ba64357 100644 --- a/src/easy/entities/list.cpp +++ b/src/easy/entities/list.cpp @@ -31,7 +31,7 @@ List::List() const uint_fast64_t List::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const string List::title() const diff --git a/src/easy/entities/mention.cpp b/src/easy/entities/mention.cpp index ba90b58..17dd000 100644 --- a/src/easy/entities/mention.cpp +++ b/src/easy/entities/mention.cpp @@ -34,7 +34,7 @@ const string Mention::acct() const const uint_fast64_t Mention::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const string Mention::url() const diff --git a/src/easy/entities/notification.cpp b/src/easy/entities/notification.cpp index aec3424..6d672b0 100644 --- a/src/easy/entities/notification.cpp +++ b/src/easy/entities/notification.cpp @@ -47,7 +47,7 @@ const system_clock::time_point Notification::created_at() const const uint_fast64_t Notification::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const Easy::Status Notification::status() const diff --git a/src/easy/entities/relationship.cpp b/src/easy/entities/relationship.cpp index 45a7b9a..c775d73 100644 --- a/src/easy/entities/relationship.cpp +++ b/src/easy/entities/relationship.cpp @@ -49,7 +49,7 @@ const bool Relationship::following() const const uint_fast64_t Relationship::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const bool Relationship::muting() const diff --git a/src/easy/entities/report.cpp b/src/easy/entities/report.cpp index 3fe79fe..bbbd0f6 100644 --- a/src/easy/entities/report.cpp +++ b/src/easy/entities/report.cpp @@ -34,6 +34,6 @@ const bool Report::action_taken() const const uint_fast64_t Report::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } diff --git a/src/easy/entities/status.cpp b/src/easy/entities/status.cpp index 66d769d..47db1a0 100644 --- a/src/easy/entities/status.cpp +++ b/src/easy/entities/status.cpp @@ -92,17 +92,17 @@ const uint_fast64_t Status::favourites_count() const const uint_fast64_t Status::id() const { - return std::stoull(get_string("id")); + return stouint64(get_string("id")); } const uint_fast64_t Status::in_reply_to_id() const { - return std::stoull(get_string("in_reply_to_id")); + return stouint64(get_string("in_reply_to_id")); } const uint_fast64_t Status::in_reply_to_account_id() const { - return std::stoull(get_string("in_reply_to_account_id")); + return stouint64(get_string("in_reply_to_account_id")); } const string Status::language() const diff --git a/src/easy/entity.cpp b/src/easy/entity.cpp index e26cab6..348eaba 100644 --- a/src/easy/entity.cpp +++ b/src/easy/entity.cpp @@ -221,3 +221,15 @@ const std::vector Easy::Entity::get_vector(const string &key) const _was_set = false; return {}; } + +const std::uint_fast64_t Easy::Entity::stouint64(const string &str) const +{ + if (str == "") + { + return 0; + } + else + { + return stoull(str); + } +}