From 74ca2f8fcf10f5b00b4a3eeb121e418e1b5212e0 Mon Sep 17 00:00:00 2001 From: Markus Ongyerth Date: Sat, 7 Jul 2018 17:56:37 +0200 Subject: Another round of feedback from acrisci --- util/array.c | 21 +++++++++++++++++++++ util/meson.build | 1 + 2 files changed, 22 insertions(+) create mode 100644 util/array.c (limited to 'util') diff --git a/util/array.c b/util/array.c new file mode 100644 index 00000000..9ee39d33 --- /dev/null +++ b/util/array.c @@ -0,0 +1,21 @@ +#include +#include + +// https://www.geeksforgeeks.org/move-zeroes-end-array/ +size_t push_zeroes_to_end(uint32_t arr[], size_t n) { + size_t count = 0; + + for (size_t i = 0; i < n; i++) { + if (arr[i] != 0) { + arr[count++] = arr[i]; + } + } + + size_t ret = count; + + while (count < n) { + arr[count++] = 0; + } + + return ret; +} diff --git a/util/meson.build b/util/meson.build index adc52a53..f9d1997d 100644 --- a/util/meson.build +++ b/util/meson.build @@ -1,6 +1,7 @@ lib_wlr_util = static_library( 'wlr_util', files( + 'array.c', 'log.c', 'os-compatibility.c', 'region.c', -- cgit v1.2.3