X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Farray.c;h=376bd681dbfa586807c160908cd74b2adb4dd325;hb=2b29048db81c4a1d1808d857f58aa5245452a559;hp=f37270c81da9796320de8507cb097a80ceca6869;hpb=825c7a4a81fe81f804fe95e128fa9f740ca4be2d;p=pspp diff --git a/src/libpspp/array.c b/src/libpspp/array.c index f37270c81d..376bd681db 100644 --- a/src/libpspp/array.c +++ b/src/libpspp/array.c @@ -89,6 +89,7 @@ #include #include +#include #include #include "libpspp/assertion.h" @@ -1027,3 +1028,18 @@ is_heap (const void *array, size_t count, size_t size, return true; } +/* Reverses the order of ARRAY, which contains COUNT elements of SIZE bytes + each. */ +void +reverse_array (void *array_, size_t count, size_t size) +{ + uint8_t *array = array_; + uint8_t *first = array; + uint8_t *last = array + (count - 1) * size; + for (size_t i = 0; i < count / 2; i++) + { + swap (first, last, size); + first += size; + last -= size; + } +}