mirror of
https://github.com/esphome/esphome.git
synced 2025-09-26 07:02:21 +01:00
wip
This commit is contained in:
@@ -1079,9 +1079,12 @@ void APIConnection::on_get_time_response(const GetTimeResponse &value) {
|
|||||||
homeassistant::global_homeassistant_time->set_epoch_time(value.epoch_seconds);
|
homeassistant::global_homeassistant_time->set_epoch_time(value.epoch_seconds);
|
||||||
#ifdef USE_TIME_TIMEZONE
|
#ifdef USE_TIME_TIMEZONE
|
||||||
if (value.timezone_len > 0) {
|
if (value.timezone_len > 0) {
|
||||||
std::string timezone_str(reinterpret_cast<const char *>(value.timezone), value.timezone_len);
|
const std::string ¤t_tz = homeassistant::global_homeassistant_time->get_timezone();
|
||||||
if (timezone_str != homeassistant::global_homeassistant_time->get_timezone()) {
|
// Compare without allocating a string
|
||||||
homeassistant::global_homeassistant_time->set_timezone(timezone_str);
|
if (current_tz.length() != value.timezone_len ||
|
||||||
|
memcmp(current_tz.c_str(), value.timezone, value.timezone_len) != 0) {
|
||||||
|
homeassistant::global_homeassistant_time->set_timezone(
|
||||||
|
std::string(reinterpret_cast<const char *>(value.timezone), value.timezone_len));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -1377,7 +1380,7 @@ void APIConnection::complete_authentication_() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool APIConnection::send_hello_response(const HelloRequest &msg) {
|
bool APIConnection::send_hello_response(const HelloRequest &msg) {
|
||||||
this->client_info_.name = std::string(reinterpret_cast<const char *>(msg.client_info), msg.client_info_len);
|
this->client_info_.name.assign(reinterpret_cast<const char *>(msg.client_info), msg.client_info_len);
|
||||||
this->client_info_.peername = this->helper_->getpeername();
|
this->client_info_.peername = this->helper_->getpeername();
|
||||||
this->client_api_version_major_ = msg.api_version_major;
|
this->client_api_version_major_ = msg.api_version_major;
|
||||||
this->client_api_version_minor_ = msg.api_version_minor;
|
this->client_api_version_minor_ = msg.api_version_minor;
|
||||||
|
Reference in New Issue
Block a user