mirror of
https://github.com/ohwgiles/laminar.git
synced 2026-11-02 08:34:44 +00:00
fix compile error on 32-bit Linux
On 32-bit Linux, time_t is a long. Laminar extensively uses time_t but provided only int and int64 db access, making the use of long ambiguous. Since there is no explicit use of int64, and because on 32-bit Linux long and int are recognized as different types despite being the same width, replacing the int64 handlers with long handlers fixes the compile error
This commit is contained in:
@@ -41,7 +41,7 @@ class Json : public rapidjson::Writer<rapidjson::StringBuffer> {
|
||||
public:
|
||||
Json() : rapidjson::Writer<rapidjson::StringBuffer>(buf) { StartObject(); }
|
||||
template<typename T>
|
||||
Json& set(const char* key, T value);
|
||||
Json& set(const char* key, T value) { String(key); Int64(value); return *this; }
|
||||
Json& startObject(const char* key) { String(key); StartObject(); return *this; }
|
||||
Json& startArray(const char* key) { String(key); StartArray(); return *this; }
|
||||
const char* str() { EndObject(); return buf.GetString(); }
|
||||
@@ -50,9 +50,6 @@ private:
|
||||
};
|
||||
template<> Json& Json::set(const char* key, const char* value) { String(key); String(value); return *this; }
|
||||
template<> Json& Json::set(const char* key, std::string value) { String(key); String(value.c_str()); return *this; }
|
||||
template<> Json& Json::set(const char* key, int value) { String(key); Int(value); return *this; }
|
||||
template<> Json& Json::set(const char* key, uint value) { String(key); Int(static_cast<int>(value)); return *this; }
|
||||
template<> Json& Json::set(const char* key, time_t value) { String(key); Int64(value); return *this; }
|
||||
|
||||
namespace {
|
||||
// Default values when none were supplied in $LAMINAR_CONF_FILE (/etc/laminar.conf)
|
||||
|
||||
Reference in New Issue
Block a user