/* Taken from samba/lib/talloc/testsuite.c: Unix SMB/CIFS implementation. local testing of talloc routines. Copyright (C) Andrew Tridgell 2004 ** NOTE! The following LGPL license applies to the talloc ** library. This does NOT imply that all of Samba is released ** under the LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, see . */ #include #include #include #include #include #include #define LOOPS 1024 int main(int argc, char *argv[]) { void *ctx; unsigned count; int i, j; struct timespec tv; void *p1, *p2[100], *p3[100]; bool run_talloc = true, run_tal = true, run_malloc = true; if (argv[1]) { if (strcmp(argv[1], "--talloc") == 0) run_tal = run_malloc = false; else if (strcmp(argv[1], "--tal") == 0) run_talloc = run_malloc = false; else if (strcmp(argv[1], "--malloc") == 0) run_talloc = run_tal = false; else errx(1, "Bad flag %s", argv[1]); } if (!run_talloc) goto after_talloc; ctx = talloc_new(NULL); tv = time_now(); count = 0; do { for (i=0;i