mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-22 21:22:37 +01:00
util: knownnetworks: move timespec_compare into util
This commit is contained in:
parent
04dc20cf5d
commit
e2bed192f6
@ -40,36 +40,19 @@
|
|||||||
#include "src/dbus.h"
|
#include "src/dbus.h"
|
||||||
#include "src/knownnetworks.h"
|
#include "src/knownnetworks.h"
|
||||||
#include "src/scan.h"
|
#include "src/scan.h"
|
||||||
|
#include "src/util.h"
|
||||||
|
|
||||||
static struct l_queue *known_networks;
|
static struct l_queue *known_networks;
|
||||||
static size_t num_known_hidden_networks;
|
static size_t num_known_hidden_networks;
|
||||||
static struct l_dir_watch *storage_dir_watch;
|
static struct l_dir_watch *storage_dir_watch;
|
||||||
|
|
||||||
static int timespec_compare(const struct timespec *tsa,
|
|
||||||
const struct timespec *tsb)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (tsa->tv_sec > tsb->tv_sec)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (tsa->tv_sec < tsb->tv_sec)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
if (tsa->tv_nsec > tsb->tv_nsec)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (tsa->tv_nsec < tsb->tv_nsec)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int connected_time_compare(const void *a, const void *b, void *user_data)
|
static int connected_time_compare(const void *a, const void *b, void *user_data)
|
||||||
{
|
{
|
||||||
const struct network_info *ni_a = a;
|
const struct network_info *ni_a = a;
|
||||||
const struct network_info *ni_b = b;
|
const struct network_info *ni_b = b;
|
||||||
|
|
||||||
return timespec_compare(&ni_a->connected_time, &ni_b->connected_time);
|
return util_timespec_compare(&ni_a->connected_time,
|
||||||
|
&ni_b->connected_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *known_network_get_path(const struct network_info *network)
|
const char *known_network_get_path(const struct network_info *network)
|
||||||
@ -131,7 +114,7 @@ static void known_network_update(struct network_info *orig_network,
|
|||||||
else
|
else
|
||||||
network = network_info_add_known(ssid, security);
|
network = network_info_add_known(ssid, security);
|
||||||
|
|
||||||
if (timespec_compare(&network->connected_time, connected_time) &&
|
if (util_timespec_compare(&network->connected_time, connected_time) &&
|
||||||
orig_network) {
|
orig_network) {
|
||||||
l_dbus_property_changed(dbus_get_bus(),
|
l_dbus_property_changed(dbus_get_bus(),
|
||||||
known_network_get_path(network),
|
known_network_get_path(network),
|
||||||
|
20
src/util.c
20
src/util.c
@ -27,6 +27,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/uio.h>
|
#include <sys/uio.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
#include <ell/ell.h>
|
#include <ell/ell.h>
|
||||||
|
|
||||||
@ -208,3 +209,22 @@ const char *util_get_username(const char *identity)
|
|||||||
|
|
||||||
return identity;
|
return identity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int util_timespec_compare(const struct timespec *tsa,
|
||||||
|
const struct timespec *tsb)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (tsa->tv_sec > tsb->tv_sec)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (tsa->tv_sec < tsb->tv_sec)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if (tsa->tv_nsec > tsb->tv_nsec)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (tsa->tv_nsec < tsb->tv_nsec)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -65,4 +65,7 @@ static inline bool util_mem_is_zero(const uint8_t *field, size_t size)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int util_timespec_compare(const struct timespec *tsa,
|
||||||
|
const struct timespec *tsb);
|
||||||
|
|
||||||
#endif /* __UTIL_H */
|
#endif /* __UTIL_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user