diff --git a/core/Communication.cc b/core/Communication.cc index 46a5602c1c5138f98095d57cc75205b5530ec17e..e7e22e9063a95370679786082073ce1be1923c13 100644 --- a/core/Communication.cc +++ b/core/Communication.cc @@ -1235,7 +1235,10 @@ boolean TTCN_Communication::send_log(time_t timestamp_sec, long timestamp_usec, if (is_connected) { Text_Buf text_buf; text_buf.push_int(MSG_LOG); - text_buf.push_int(timestamp_sec); + int upper_int = timestamp_sec / 0xffffffff; + int lower_int = timestamp_sec % 0xffffffff; + text_buf.push_int(upper_int); + text_buf.push_int(lower_int); text_buf.push_int(timestamp_usec); text_buf.push_int(event_severity); text_buf.push_int(message_text_len); diff --git a/mctr2/mctr/MainController.cc b/mctr2/mctr/MainController.cc index c4e6ea841bd12264a4654df7f2ad53f8412d1779..14db39cf092c15afd1dfc5911a98df0fb2f6412d 100644 --- a/mctr2/mctr/MainController.cc +++ b/mctr2/mctr/MainController.cc @@ -3717,7 +3717,9 @@ void MainController::process_log(unknown_connection *conn) { Text_Buf& text_buf = *conn->text_buf; struct timeval tv; - tv.tv_sec = text_buf.pull_int().get_val(); + int upper_int = text_buf.pull_int().get_val(); + int lower_int = text_buf.pull_int().get_val(); + tv.tv_sec = upper_int * 0xffffffff + lower_int; tv.tv_usec = text_buf.pull_int().get_val(); char *source = mprintf("<unknown>@%s", conn->ip_addr->get_host_str()); int severity = text_buf.pull_int().get_val(); @@ -3912,7 +3914,9 @@ void MainController::process_log(host_struct *hc) { Text_Buf& text_buf = *hc->text_buf; struct timeval tv; - tv.tv_sec = text_buf.pull_int().get_val(); + int upper_int = text_buf.pull_int().get_val(); + int lower_int = text_buf.pull_int().get_val(); + tv.tv_sec = upper_int * 0xffffffff + lower_int; tv.tv_usec = text_buf.pull_int().get_val(); int severity = text_buf.pull_int().get_val(); char *message = text_buf.pull_string(); @@ -4133,7 +4137,9 @@ void MainController::process_log(component_struct *tc) { Text_Buf& text_buf = *tc->text_buf; struct timeval tv; - tv.tv_sec = text_buf.pull_int().get_val(); + int upper_int = text_buf.pull_int().get_val(); + int lower_int = text_buf.pull_int().get_val(); + tv.tv_sec = upper_int * 0xffffffff + lower_int; tv.tv_usec = text_buf.pull_int().get_val(); int severity = text_buf.pull_int().get_val(); char *message = text_buf.pull_string();