commit
340811da6e
|
@ -1326,6 +1326,34 @@ process_named_servermsg (session *sess, char *buf, char *rawname, char *word_eol
|
||||||
rawname, NULL, 0, tags_data->timestamp);
|
rawname, NULL, 0, tags_data->timestamp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns the timezone offset. This should be the same as the variable
|
||||||
|
* "timezone" in time.h, but *BSD doesn't have it.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
get_timezone(void)
|
||||||
|
{
|
||||||
|
struct tm tm_utc, tm_local;
|
||||||
|
time_t t, time_utc, time_local;
|
||||||
|
|
||||||
|
time (&t);
|
||||||
|
|
||||||
|
/* gmtime() and localtime() are thread-safe on windows.
|
||||||
|
* on other systems we should use {gmtime,localtime}_r().
|
||||||
|
*/
|
||||||
|
#if WIN32
|
||||||
|
tm_utc = *gmtime (&t);
|
||||||
|
tm_local = *localtime (&t);
|
||||||
|
#else
|
||||||
|
gmtime_r (&t, &tm_utc);
|
||||||
|
localtime_r (&t, &tm_local);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
time_utc = mktime (&tm_utc);
|
||||||
|
time_local = mktime (&tm_local);
|
||||||
|
|
||||||
|
return time_utc - time_local;
|
||||||
|
}
|
||||||
|
|
||||||
/* Handle time-server tags.
|
/* Handle time-server tags.
|
||||||
*
|
*
|
||||||
* Sets tags_data->timestamp to the correct time (in unix time).
|
* Sets tags_data->timestamp to the correct time (in unix time).
|
||||||
|
@ -1370,7 +1398,7 @@ handle_message_tag_time (const char *time, message_tags_data *tags_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get rid of the local time (mktime() receives a local calendar time) */
|
/* get rid of the local time (mktime() receives a local calendar time) */
|
||||||
tags_data->timestamp -= timezone;
|
tags_data->timestamp -= get_timezone();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -323,10 +323,14 @@ banlist_copyentry (GtkWidget *menuitem, GtkTreeView *view)
|
||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeSelection *sel;
|
GtkTreeSelection *sel;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GValue mask = G_VALUE_INIT;
|
GValue mask;
|
||||||
GValue from = G_VALUE_INIT;
|
GValue from;
|
||||||
GValue date = G_VALUE_INIT;
|
GValue date;
|
||||||
char *str;
|
char *str;
|
||||||
|
|
||||||
|
memset (&mask, 0, sizeof (mask));
|
||||||
|
memset (&from, 0, sizeof (from));
|
||||||
|
memset (&date, 0, sizeof (date));
|
||||||
|
|
||||||
/* get selection (which should have been set on click)
|
/* get selection (which should have been set on click)
|
||||||
* and temporarily switch to single mode to get selected iter */
|
* and temporarily switch to single mode to get selected iter */
|
||||||
|
|
Loading…
Reference in New Issue