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:
@@ -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 *);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user