/*
This file is part of GNUnet.
- (C) 2001, 2002, 2003, 2005, 2006 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2001, 2002, 2003, 2005, 2006 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* @brief testcase for common_allocation.c
*/
#include "platform.h"
-#include "gnunet_common.h"
+#include "gnunet_util_lib.h"
static int
check ()
{
#define MAX_TESTVAL 1024
char *ptrs[MAX_TESTVAL];
+ unsigned int **a2;
+ char ***a3;
int i;
int j;
int k;
/* GNUNET_malloc/GNUNET_free test */
k = 352; /* random start value */
for (i = 1; i < MAX_TESTVAL; i++)
- {
- ptrs[i] = GNUNET_malloc (i);
- for (j = 0; j < i; j++)
- ptrs[i][j] = k++;
- }
+ {
+ ptrs[i] = GNUNET_malloc (i);
+ for (j = 0; j < i; j++)
+ ptrs[i][j] = k++;
+ }
for (i = MAX_TESTVAL - 1; i >= 1; i--)
- {
- for (j = i - 1; j >= 0; j--)
- if (ptrs[i][j] != (char) --k)
- return 1;
- GNUNET_free (ptrs[i]);
- }
+ {
+ for (j = i - 1; j >= 0; j--)
+ if (ptrs[i][j] != (char) --k)
+ return 1;
+ GNUNET_free (ptrs[i]);
+ }
/* GNUNET_free_non_null test */
GNUNET_free_non_null (NULL);
if (ptrs[0] != NULL)
return 9;
+ /* GNUNET_new_array_2d tests */
+ a2 = GNUNET_new_array_2d (17, 22, unsigned int);
+ for (i = 0; i < 17; i++)
+ {
+ for (j = 0; j < 22; j++)
+ {
+ if (0 != a2[i][j])
+ return 10;
+ a2[i][j] = i * 100 + j;
+ }
+ }
+ free (a2);
+
+ /* GNUNET_new_array_3d tests */
+ a3 = GNUNET_new_array_3d (2, 3, 4, char);
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+ for (k = 0; k < 4; k++)
+ {
+ if (0 != a3[i][j][k])
+ return 11;
+ a3[i][j][k] = i * 100 + j * 10 + k;
+ }
+ }
+ }
+ free (a3);
return 0;
}
GNUNET_log_setup ("test-common-allocation", "WARNING", NULL);
ret = check ();
if (ret != 0)
- fprintf (stderr, "ERROR %d.\n", ret);
+ FPRINTF (stderr, "ERROR %d.\n", ret);
return ret;
}