43#define RESIPROCATE_SUBSYSTEM Subsystem::SIP
89 if (now == ((time_t)-1))
129 mDayOfWeek(rhs.mDayOfWeek),
130 mDayOfMonth(rhs.mDayOfMonth),
144 mDayOfWeek = rhs.mDayOfWeek;
145 mDayOfMonth = rhs.mDayOfMonth;
160 if (gmtime_s(&gmt, &datetime) != 0)
169 if (gmtime_r(&datetime, &gmt) == 0)
178 mDayOfWeek =
static_cast<DayOfWeek>(gmt.tm_wday);
179 mDayOfMonth = gmt.tm_mday;
180 mMonth =
static_cast<Month>(gmt.tm_mon);
181 mYear = gmt.tm_year + 1900;
185 DebugLog (<<
"Set date: day=" << mDayOfWeek
186 <<
" month=" << mMonth
188 <<
" " << mHour <<
":" << mMin <<
":" << mSec);
195 const char *str = dow.
data();
212 const char *str = mon.
data();
408 pad2(mDayOfMonth, str);
static void pad2(const int x, EncodeStream &str)
Handles cross-platform sockets compatibility.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
size_type size() const noexcept
Returns the number of bytes in this Data.
const char * data() const noexcept
Returns a pointer to the contents of this Data.
Represents the "SIP-date" element in the RFC 3261 grammar.
virtual EncodeStream & encodeParsed(EncodeStream &str) const
virtual void parse(ParseBuffer &pb)
static DayOfWeek DayOfWeekFromData(const Data &)
const DayOfWeek & dayOfWeek() const
DateCategory & operator=(const DateCategory &)
virtual ParserCategory * clone() const
virtual bool setDatetime(time_t datetime)
static Month MonthFromData(const Data &)
static const struct days * in_word_set(const char *str, GPERF_SIZE_TYPE len)
static const struct months * in_word_set(const char *str, GPERF_SIZE_TYPE len)
Provides string-parsing functionality with protection from buffer overflow.
CurrentPosition skipNonWhitespace()
CurrentPosition skipWhitespace()
CurrentPosition skipToChar(char c)
void reset(const char *pos)
CurrentPosition skipChar()
void data(Data &data, const char *start) const
make the passed in data share memory with the buffer (uses Data::Share)
Base class for all SIP grammar elements that can have parameters.
ParserCategory & operator=(const ParserCategory &rhs)
static const char * SPACE
static const char * COLON
static const char * COMMA
static void error(int e)
Generates a generic log for the platform specific socket error number.
This file is used to handle compatibility fixes/tweaks so reSIProcate can function on multiple platfo...
dcm! – add UnusedChecking(_enum) below;
std::string strError(int err)