root/maint/gnulib/tests/test-safe-alloc.c

/* [previous][next][first][last][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. main

   1 /*
   2  * Test the safe-alloc macros
   3  *
   4  * Copyright (C) 2009-2021 Free Software Foundation, Inc.
   5  *
   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.
  10  *
  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.
  15  *
  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/>.
  18  *
  19  * Author: David Lutterkort <lutter@redhat.com>
  20  */
  21 
  22 #include <config.h>
  23 
  24 #include "safe-alloc.h"
  25 
  26 #include "macros.h"
  27 
  28 int
  29 main ()
     /* [previous][next][first][last][top][bottom][index][help] */
  30 {
  31   struct tst
  32   {
  33     int a;
  34     int b;
  35   };
  36 
  37   struct tst *p = NULL;
  38   int r;
  39 
  40   r = ALLOC (p);
  41   ASSERT (r >= 0);
  42 
  43   ASSERT (p->a == 0 && p->b == 0);
  44 
  45   p->a = p->b = 42;
  46   r = REALLOC_N (p, 5);
  47 
  48   ASSERT (p[0].a == 42 && p[0].b == 42);
  49 
  50   FREE (p);
  51   ASSERT (p == NULL);
  52 
  53   return 0;
  54 }

/* [previous][next][first][last][top][bottom][index][help] */