result_t os_base::dateAdd(date_t d, int32_t num, const char *part, date_t &retVal) { retVal = d; if (!qstrcmp(part, "year")) retVal.add(num, date_t::_YEAR); else if (!qstrcmp(part, "month")) retVal.add(num, date_t::_MONTH); else if (!qstrcmp(part, "day")) retVal.add(num, date_t::_DAY); else if (!qstrcmp(part, "hour")) retVal.add(num, date_t::_HOUR); else if (!qstrcmp(part, "minute")) retVal.add(num, date_t::_MINUTE); else if (!qstrcmp(part, "second")) retVal.add(num, date_t::_SECOND); else return CALL_E_INVALIDARG; return 0; }
result_t os_base::dateAdd(date_t d, int32_t num, exlib::string part, date_t &retVal) { retVal = d; if (part == "year") retVal.add(num, date_t::_YEAR); else if (part == "month") retVal.add(num, date_t::_MONTH); else if (part == "day") retVal.add(num, date_t::_DAY); else if (part == "hour") retVal.add(num, date_t::_HOUR); else if (part == "minute") retVal.add(num, date_t::_MINUTE); else if (part == "second") retVal.add(num, date_t::_SECOND); else return CHECK_ERROR(CALL_E_INVALIDARG); return 0; }