Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e892279b authored by Mark Salyzyn's avatar Mark Salyzyn Committed by Gerrit Code Review
Browse files

Merge "liblog: Add log_time += operator"

parents 69159ba0 decd9294
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -100,6 +100,12 @@ public:
        log_time local(*this);
        return local -= T;
    }
    log_time operator+= (const timespec &T);
    log_time operator+ (const timespec &T) const
    {
        log_time local(*this);
        return local += T;
    }

    // log_time
    bool operator== (const log_time &T) const
@@ -134,6 +140,12 @@ public:
        log_time local(*this);
        return local -= T;
    }
    log_time operator+= (const log_time &T);
    log_time operator+ (const log_time &T) const
    {
        log_time local(*this);
        return local += T;
    }

    uint64_t nsec() const
    {
+22 −0
Original line number Diff line number Diff line
@@ -150,6 +150,17 @@ log_time log_time::operator-= (const timespec &T) {
    return *this;
}

log_time log_time::operator+= (const timespec &T) {
    this->tv_nsec += (unsigned long int)T.tv_nsec;
    if (this->tv_nsec >= NS_PER_SEC) {
        this->tv_nsec -= NS_PER_SEC;
        ++this->tv_sec;
    }
    this->tv_sec += T.tv_sec;

    return *this;
}

log_time log_time::operator-= (const log_time &T) {
    // No concept of negative time, clamp to EPOCH
    if (*this <= T) {
@@ -166,3 +177,14 @@ log_time log_time::operator-= (const log_time &T) {

    return *this;
}

log_time log_time::operator+= (const log_time &T) {
    this->tv_nsec += T.tv_nsec;
    if (this->tv_nsec >= NS_PER_SEC) {
        this->tv_nsec -= NS_PER_SEC;
        ++this->tv_sec;
    }
    this->tv_sec += T.tv_sec;

    return *this;
}