/* See the end of this file for copyright and license terms. */ #include #include void *ptr_align(void *ptr, int log) { uintptr_t shifted = 1 << abs(log); uintptr_t aligned = (uintptr_t)ptr & ~(shifted - 1); if (log > 0 && aligned != (uintptr_t)ptr) aligned += shifted; return (void *)aligned; } /* * This file is part of GayBSD. * Copyright (c) 2021 fef . * * GayBSD is nonviolent software: you may only use, redistribute, and/or * modify it under the terms of the Cooperative Nonviolent Public License * (CNPL) as found in the LICENSE file in the source code root directory * or at ; either version 7 * of the license, or (at your option) any later version. * * GayBSD comes with ABSOLUTELY NO WARRANTY, to the extent * permitted by applicable law. See the CNPL for details. */