From ead2881be92d33076c2104dbd75bad3561f26088 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Wed, 19 Jun 2024 15:29:19 +0200 Subject: server: implement auth and sending nodes --- include/array.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 include/array.h (limited to 'include/array.h') diff --git a/include/array.h b/include/array.h new file mode 100644 index 0000000..8d52619 --- /dev/null +++ b/include/array.h @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2024 Lizzy Fleckenstein +// +// SPDX-License-Identifier: AGPL-3.0-or-later + +#ifndef ARRAY_H +#define ARRAY_H + +#include + +#define len(X) (sizeof X / sizeof *X) +#define array(T) struct { size_t len; T *data; } +#define arraybuf(T) struct { size_t cap; size_t len; T *data; } + +#define ARR_REMOVE(A, P) memmove((P), (P)+1, --(A).len * sizeof *(P) - ((P) - (A).data)); +#define ARR_APPEND(A) (((A).cap == (A).len) \ + ? (A).data = realloc((A).data, sizeof *(A).data * ((A).cap = (A).cap ? (A).cap * 2 : 1)) \ + : NULL, &((A).data)[(A).len++]) + +#endif -- cgit v1.2.3