// SPDX-License-Identifier: GPL-2.0 #include "aolib.h" #include void randomize_buffer(void *buf, size_t buflen) { int *p = (int *)buf; size_t words = buflen / sizeof(int); size_t leftover = buflen % sizeof(int); if (!buflen) return; while (words--) *p++ = rand(); if (leftover) { int tmp = rand(); memcpy(buf + buflen - leftover, &tmp, leftover); } } __printf(3, 4) int test_echo(const char *fname, bool append, const char *fmt, ...) { size_t len, written; va_list vargs; char *msg; FILE *f; f = fopen(fname, append ? "a" : "w"); if (!f) return -errno; va_start(vargs, fmt); msg = test_snprintf(fmt, vargs); va_end(vargs); if (!msg) { fclose(f); return -1; } len = strlen(msg); written = fwrite(msg, 1, len, f); fclose(f); free(msg); return written == len ? 0 : -1; } const struct sockaddr_in6 addr_any6 = { .sin6_family = AF_INET6, }; const struct sockaddr_in addr_any4 = { .sin_family = AF_INET, };