#include <bee2/core/err.h>
#include <bee2/core/mem.h>
#include <bee2/core/str.h>
#include "bee2/cmd.h"
err_t cmdDateParse(octet date[6], const char* str)
{
if (!memIsValid(date, 6) || !strIsValid(str))
return ERR_BAD_INPUT;
if (strLen(str) != 6 || !strIsNumeric(str))
return ERR_BAD_DATE;
memCopy(date, str, 6);
date[0] -= '0', date[1] -= '0', date[2] -= '0';
date[3] -= '0', date[4] -= '0', date[5] -= '0';
if (memIsZero(date, 6))
{
if (!tmDate2(date))
return ERR_BAD_TIMER;
}
else if (!tmDateIsValid2(date))
return ERR_BAD_DATE;
return ERR_OK;
}