diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2013-12-17 10:06:10 +0000 |
---|---|---|
committer | Olivier Crête <olivier.crete@collabora.com> | 2013-12-18 17:50:58 -0500 |
commit | 3e29fec4a959f2999a0f5a91561f5e798cd9bba2 (patch) | |
tree | 434cb8ee5c915d315ec5d4fc01ea92c246c66f3e | |
parent | 869093b34758646d915ef06a2473aa0b2c7432d1 (diff) | |
download | libnice-3e29fec4a959f2999a0f5a91561f5e798cd9bba2.tar.gz |
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.
-rw-r--r-- | stun/stunmessage.c | 5 | ||||
-rw-r--r-- | stun/usages/timer.c | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/stun/stunmessage.c b/stun/stunmessage.c index 874d3f1..b9c54e3 100644 --- a/stun/stunmessage.c +++ b/stun/stunmessage.c @@ -524,15 +524,14 @@ stun_message_append_error (StunMessage *msg, StunError code) { const char *str = stun_strerror (code); size_t len = strlen (str); - div_t d = div (code, 100); uint8_t *ptr = stun_message_append (msg, STUN_ATTRIBUTE_ERROR_CODE, 4 + len); if (ptr == NULL) return STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE; memset (ptr, 0, 2); - ptr[2] = d.quot; - ptr[3] = d.rem; + ptr[2] = code / 100; + ptr[3] = code % 100; memcpy (ptr + 4, str, len); return STUN_MESSAGE_RETURN_SUCCESS; } diff --git a/stun/usages/timer.c b/stun/usages/timer.c index ce711c2..82f3ea2 100644 --- a/stun/usages/timer.c +++ b/stun/usages/timer.c @@ -88,9 +88,9 @@ static void stun_gettime (struct timeval *now) static void add_delay (struct timeval *ts, unsigned delay) { - div_t d = div (delay, 1000); - ts->tv_sec += d.quot; - ts->tv_usec += d.rem * 1000; + /* Delay is in ms. */ + ts->tv_sec += delay / 1000; + ts->tv_usec += (delay % 1000) * 1000; while (ts->tv_usec > 1000000) { |