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_ {
|
typedef struct _sping_ {
|
||||||
struct _sping_ *next;
|
struct _sping_ *next;
|
||||||
char *sname;
|
char *sname;
|
||||||
#ifdef HAVE_GETTIMEOFDAY
|
|
||||||
struct timeval in_sping;
|
struct timeval in_sping;
|
||||||
#else
|
|
||||||
time_t in_sping;
|
|
||||||
#endif
|
|
||||||
} Sping;
|
} Sping;
|
||||||
|
|
||||||
|
|
||||||
@@ -337,15 +333,6 @@ ChannelList *BX_get_server_channels (int);
|
|||||||
#endif
|
#endif
|
||||||
int is_server_valid(char *name, int server);
|
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 *);
|
Sping *get_server_sping (int, char *);
|
||||||
void clear_server_sping (int, char *);
|
void clear_server_sping (int, char *);
|
||||||
void set_server_sping (int, Sping *);
|
void set_server_sping (int, Sping *);
|
||||||
|
|||||||
@@ -655,21 +655,13 @@ BUILT_IN_COMMAND(sping)
|
|||||||
}
|
}
|
||||||
tmp = new_malloc(sizeof(Sping));
|
tmp = new_malloc(sizeof(Sping));
|
||||||
tmp->sname = m_strdup(sname);
|
tmp->sname = m_strdup(sname);
|
||||||
#ifdef HAVE_GETTIMEOFDAY
|
get_time(&tmp->in_sping);
|
||||||
gettimeofday(&tmp->in_sping, NULL);
|
|
||||||
set_server_sping(from_server, tmp);
|
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)))
|
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",
|
send_to_server("PING LAG%ld.%ld :%s",
|
||||||
(long)tmp->in_sping.tv_sec, (long)tmp->in_sping.tv_usec,
|
(long)tmp->in_sping.tv_sec, (long)tmp->in_sping.tv_usec,
|
||||||
sname);
|
sname);
|
||||||
#else
|
|
||||||
send_to_server("PING LAG%ld :%s", (long)now, sname);
|
|
||||||
#endif
|
|
||||||
else
|
else
|
||||||
send_to_server("PING %s :%s",
|
send_to_server("PING %s :%s",
|
||||||
get_server_itsname(from_server) ?
|
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)
|
BUILT_IN_COMMAND(tog_fprot)
|
||||||
|
|||||||
@@ -825,7 +825,6 @@ static void p_pong(char *from, char **ArgList)
|
|||||||
char buff[50];
|
char buff[50];
|
||||||
struct timeval timenow = {0};
|
struct timeval timenow = {0};
|
||||||
struct timeval timethen;
|
struct timeval timethen;
|
||||||
#ifdef HAVE_GETTIMEOFDAY
|
|
||||||
if ((p = strchr(ArgList[1], '.')))
|
if ((p = strchr(ArgList[1], '.')))
|
||||||
{
|
{
|
||||||
*p++ = 0;
|
*p++ = 0;
|
||||||
@@ -833,9 +832,6 @@ static void p_pong(char *from, char **ArgList)
|
|||||||
} else
|
} else
|
||||||
timethen.tv_usec = 0;
|
timethen.tv_usec = 0;
|
||||||
timethen.tv_sec = my_atol(ArgList[1]+3);
|
timethen.tv_sec = my_atol(ArgList[1]+3);
|
||||||
#else
|
|
||||||
timethen.tv_sec = my_atol(ArgList[1]+3);
|
|
||||||
#endif
|
|
||||||
get_time(&timenow);
|
get_time(&timenow);
|
||||||
sprintf(buff, "%2.4f", BX_time_diff(timethen, 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));
|
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;
|
Sping *tmp;
|
||||||
if ((tmp = get_server_sping(from_server, ArgList[0])))
|
if ((tmp = get_server_sping(from_server, ArgList[0])))
|
||||||
{
|
{
|
||||||
#ifdef HAVE_GETTIMEOFDAY
|
|
||||||
struct timeval timenow = {0};
|
struct timeval timenow = {0};
|
||||||
get_time(&timenow);
|
get_time(&timenow);
|
||||||
sprintf(buff, "%2.4f", BX_time_diff(tmp->in_sping, 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));
|
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]);
|
clear_server_sping(from_server, ArgList[0]);
|
||||||
if (is_server_connected(from_server))
|
if (is_server_connected(from_server))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user