mirror of
https://github.com/weechat/weechat.git
synced 2026-07-05 01:03:14 +02:00
relay: add microseconds in relay raw messages (issue #649)
This commit is contained in:
@@ -49,11 +49,12 @@ relay_raw_message_print (struct t_relay_raw_message *raw_message)
|
||||
{
|
||||
if (relay_raw_buffer && raw_message)
|
||||
{
|
||||
weechat_printf_date_tags (relay_raw_buffer,
|
||||
raw_message->date, NULL,
|
||||
"%s\t%s",
|
||||
raw_message->prefix,
|
||||
raw_message->message);
|
||||
weechat_printf_datetime_tags (relay_raw_buffer,
|
||||
raw_message->date,
|
||||
raw_message->date_usec,
|
||||
"%s\t%s",
|
||||
raw_message->prefix,
|
||||
raw_message->message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,8 +200,8 @@ relay_raw_message_remove_old ()
|
||||
*/
|
||||
|
||||
struct t_relay_raw_message *
|
||||
relay_raw_message_add_to_list (time_t date, const char *prefix,
|
||||
const char *message)
|
||||
relay_raw_message_add_to_list (time_t date, int date_usec,
|
||||
const char *prefix, const char *message)
|
||||
{
|
||||
struct t_relay_raw_message *new_raw_message;
|
||||
|
||||
@@ -213,6 +214,7 @@ relay_raw_message_add_to_list (time_t date, const char *prefix,
|
||||
if (new_raw_message)
|
||||
{
|
||||
new_raw_message->date = date;
|
||||
new_raw_message->date_usec = date_usec;
|
||||
new_raw_message->prefix = strdup (prefix);
|
||||
new_raw_message->message = strdup (message);
|
||||
|
||||
@@ -246,6 +248,7 @@ relay_raw_message_add (struct t_relay_client *client,
|
||||
const char *hexa = "0123456789ABCDEF";
|
||||
int pos_buf, pos_buf2, char_size, i, length;
|
||||
struct t_relay_raw_message *new_raw_message;
|
||||
struct timeval tv_now;
|
||||
|
||||
buf = NULL;
|
||||
buf2 = NULL;
|
||||
@@ -356,8 +359,10 @@ relay_raw_message_add (struct t_relay_client *client,
|
||||
(buf2) ? buf2 : ((buf) ? buf : data));
|
||||
}
|
||||
|
||||
gettimeofday (&tv_now, NULL);
|
||||
new_raw_message = relay_raw_message_add_to_list (
|
||||
time (NULL),
|
||||
tv_now.tv_sec,
|
||||
tv_now.tv_usec,
|
||||
prefix,
|
||||
(buf3) ? buf3 : ((buf2) ? buf2 : ((buf) ? buf : data)));
|
||||
|
||||
@@ -416,6 +421,8 @@ relay_raw_add_to_infolist (struct t_infolist *infolist,
|
||||
|
||||
if (!weechat_infolist_new_var_time (ptr_item, "date", raw_message->date))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_integer (ptr_item, "date_usec", raw_message->date_usec))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_string (ptr_item, "prefix", raw_message->prefix))
|
||||
return 0;
|
||||
if (!weechat_infolist_new_var_string (ptr_item, "message", raw_message->message))
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
struct t_relay_raw_message
|
||||
{
|
||||
time_t date; /* date/time of message */
|
||||
int date_usec; /* microseconds of date */
|
||||
char *prefix; /* prefix */
|
||||
char *message; /* message */
|
||||
struct t_relay_raw_message *prev_message; /* pointer to prev. message */
|
||||
@@ -49,6 +50,7 @@ extern struct t_relay_raw_message *relay_raw_messages, *last_relay_raw_message;
|
||||
|
||||
extern void relay_raw_open (int switch_to_buffer);
|
||||
extern struct t_relay_raw_message *relay_raw_message_add_to_list (time_t date,
|
||||
int date_usec,
|
||||
const char *prefix,
|
||||
const char *message);
|
||||
extern void relay_raw_print (struct t_relay_client *client,
|
||||
|
||||
@@ -217,9 +217,11 @@ relay_upgrade_read_cb (const void *pointer, void *data,
|
||||
relay_client_new_with_infolist (infolist);
|
||||
break;
|
||||
case RELAY_UPGRADE_TYPE_RAW_MESSAGE:
|
||||
relay_raw_message_add_to_list (weechat_infolist_time (infolist, "date"),
|
||||
weechat_infolist_string (infolist, "prefix"),
|
||||
weechat_infolist_string (infolist, "message"));
|
||||
relay_raw_message_add_to_list (
|
||||
weechat_infolist_time (infolist, "date"),
|
||||
weechat_infolist_integer (infolist, "date_usec"),
|
||||
weechat_infolist_string (infolist, "prefix"),
|
||||
weechat_infolist_string (infolist, "message"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user