openat: don’t close (-1)
[gnulib.git] / tests / test-safe-alloc.c
blob057eda4f9f9e1d742552a976d18b0c7119c4f4ae
1 /*
2 * Test the safe-alloc macros
4 * Copyright (C) 2009-2024 Free Software Foundation, Inc.
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, see <https://www.gnu.org/licenses/>.
19 * Author: David Lutterkort <lutter@redhat.com>
22 #include <config.h>
24 #include "safe-alloc.h"
26 #include "macros.h"
28 int
29 main ()
31 struct tst
33 int a;
34 int b;
37 struct tst *p = NULL;
38 int r;
40 r = ALLOC (p);
41 ASSERT (r >= 0);
43 ASSERT (p->a == 0 && p->b == 0);
45 p->a = p->b = 42;
46 r = REALLOC_N (p, 5);
48 ASSERT (p[0].a == 42 && p[0].b == 42);
50 FREE (p);
51 ASSERT (p == NULL);
53 return test_exit_status;