Remove alternate /sping implementation for systems without gettimeofday()

This changes the code to use struct timeval and get_time() on all systems,
which simplifies the code by removing most of the checks for HAVE_GETTIMEOFDAY.

The only user-visible change is that ancient systems without gettimeofday()
will see message like "Server pong from irc.choopa.net 1.0000 seconds" instead
of "Server pong from irc.choopa.net 1.x seconds".  And really, I seriously
doubt that there's any systems like that left out there anyway.
This commit is contained in:
Kevin Easton
2015-03-29 20:35:57 +11:00
parent 1c6ff3088a
commit 443b87a8aa
3 changed files with 2 additions and 61 deletions

View File

@@ -50,11 +50,7 @@ typedef struct _queued_send
typedef struct _sping_ {
struct _sping_ *next;
char *sname;
#ifdef HAVE_GETTIMEOFDAY
struct timeval in_sping;
#else
time_t in_sping;
#endif
} Sping;
@@ -337,15 +333,6 @@ ChannelList *BX_get_server_channels (int);
#endif
int is_server_valid(char *name, int server);
#if 0
#ifdef HAVE_GETTIMEOFDAY
struct timeval get_server_sping (int);
void set_server_sping (int, struct timeval);
#else
time_t get_server_sping (int);
void set_server_sping (int, time_t);
#endif
#endif
Sping *get_server_sping (int, char *);
void clear_server_sping (int, char *);
void set_server_sping (int, Sping *);

View File

@@ -655,21 +655,13 @@ BUILT_IN_COMMAND(sping)
}
tmp = new_malloc(sizeof(Sping));
tmp->sname = m_strdup(sname);
#ifdef HAVE_GETTIMEOFDAY
gettimeofday(&tmp->in_sping, NULL);
get_time(&tmp->in_sping);
set_server_sping(from_server, tmp);
#else
tmp->in_sping = now;
set_server_sping(from_server, tmp);
#endif
if (!my_stricmp(sname, get_server_name(from_server)) || !my_stricmp(sname, get_server_itsname(from_server)))
#ifdef HAVE_GETTIMEOFDAY
send_to_server("PING LAG%ld.%ld :%s",
(long)tmp->in_sping.tv_sec, (long)tmp->in_sping.tv_usec,
sname);
#else
send_to_server("PING LAG%ld :%s", (long)now, sname);
#endif
else
send_to_server("PING %s :%s",
get_server_itsname(from_server) ?
@@ -678,35 +670,6 @@ BUILT_IN_COMMAND(sping)
}
}
#if 0
#ifdef HAVE_GETTIMEOFDAY
struct timeval in_sping = {0};
#endif
if (!servern || !*servern)
if (!(servern = get_server_itsname(from_server)))
servern = get_server_name(from_server);
if (servern && *servern && wild_match("*.*", servern))
{
#ifdef HAVE_GETTIMEOFDAY
gettimeofday(&in_sping, NULL);
send_to_server("PING LAG%ld.%ld :%s", in_sping.tv_sec, in_sping.tv_usec, servern);
#else
send_to_server("PING LAG%ld :%s", now, servern);
#endif
}
else
{
#ifdef HAVE_GETTIMEOFDAY
gettimeofday(&in_sping, NULL);
set_server_sping(from_server, in_sping);
#else
set_server_sping(from_server, now);
#endif
send_to_server("PING %s :%s", get_server_itsname(from_server), servern);
}
}
#endif
}
BUILT_IN_COMMAND(tog_fprot)

View File

@@ -825,7 +825,6 @@ static void p_pong(char *from, char **ArgList)
char buff[50];
struct timeval timenow = {0};
struct timeval timethen;
#ifdef HAVE_GETTIMEOFDAY
if ((p = strchr(ArgList[1], '.')))
{
*p++ = 0;
@@ -833,9 +832,6 @@ static void p_pong(char *from, char **ArgList)
} else
timethen.tv_usec = 0;
timethen.tv_sec = my_atol(ArgList[1]+3);
#else
timethen.tv_sec = my_atol(ArgList[1]+3);
#endif
get_time(&timenow);
sprintf(buff, "%2.4f", BX_time_diff(timethen, timenow));
put_it("%s", convert_output_format("$G Server pong from %W$0%n $1 seconds", "%s %s", ArgList[0], buff));
@@ -847,15 +843,10 @@ static void p_pong(char *from, char **ArgList)
Sping *tmp;
if ((tmp = get_server_sping(from_server, ArgList[0])))
{
#ifdef HAVE_GETTIMEOFDAY
struct timeval timenow = {0};
get_time(&timenow);
sprintf(buff, "%2.4f", BX_time_diff(tmp->in_sping, timenow));
put_it("%s", convert_output_format("$G Server pong from %W$0%n $1 seconds", "%s %s", ArgList[0], buff));
#else
sprintf(buff, "%2ld.x", now - tmp->in_sping);
put_it("%s", convert_output_format("$G Server pong from %W$0%n $1 seconds", "%s %s", ArgList[0], buff));
#endif
clear_server_sping(from_server, ArgList[0]);
if (is_server_connected(from_server))
{