Commit 3e29fec4 authored by Philip Withnall's avatar Philip Withnall Committed by Olivier Crête

stun: Fix a use of a function with an aggregate return value

div() has an aggregate return, which GCC doesn’t like, although this
seems like a pretty pointless warning because div_t is the same size as
a pointer on 64-bit platforms (probably) and hardly going to cause
performance problems by passing it by value.

Anyway, it seems easier to simplify the code by using explicit / and %
operators inline, than it does to add pragmas and shut the warning up.
parent 869093b3
...@@ -524,15 +524,14 @@ stun_message_append_error (StunMessage *msg, StunError code) ...@@ -524,15 +524,14 @@ stun_message_append_error (StunMessage *msg, StunError code)
{ {
const char *str = stun_strerror (code); const char *str = stun_strerror (code);
size_t len = strlen (str); size_t len = strlen (str);
div_t d = div (code, 100);
uint8_t *ptr = stun_message_append (msg, STUN_ATTRIBUTE_ERROR_CODE, 4 + len); uint8_t *ptr = stun_message_append (msg, STUN_ATTRIBUTE_ERROR_CODE, 4 + len);
if (ptr == NULL) if (ptr == NULL)
return STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE; return STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE;
memset (ptr, 0, 2); memset (ptr, 0, 2);
ptr[2] = d.quot; ptr[2] = code / 100;
ptr[3] = d.rem; ptr[3] = code % 100;
memcpy (ptr + 4, str, len); memcpy (ptr + 4, str, len);
return STUN_MESSAGE_RETURN_SUCCESS; return STUN_MESSAGE_RETURN_SUCCESS;
} }
......
...@@ -88,9 +88,9 @@ static void stun_gettime (struct timeval *now) ...@@ -88,9 +88,9 @@ static void stun_gettime (struct timeval *now)
static void add_delay (struct timeval *ts, unsigned delay) static void add_delay (struct timeval *ts, unsigned delay)
{ {
div_t d = div (delay, 1000); /* Delay is in ms. */
ts->tv_sec += d.quot; ts->tv_sec += delay / 1000;
ts->tv_usec += d.rem * 1000; ts->tv_usec += (delay % 1000) * 1000;
while (ts->tv_usec > 1000000) while (ts->tv_usec > 1000000)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment