
1: /* Test for memory handling in regex. 2: Copyright (C) 2001 Free Software Foundation, Inc. 3: This file is part of the GNU C Library. 4: Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. 5: 6: The GNU C 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: The GNU C 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 the GNU C Library; if not, write to the Free 18: Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 19: 02111-1307 USA. */ 20: 21: #include <sys/types.h> 22: #include <mcheck.h> 23: #include <regex.h> 24: #include <stdio.h> 25: #include <stdlib.h> 26: 27: 28: static const char text[] = "This is a test; this is a test"; 29: 30: int 31: main (void) 32: { 33: regex_t re; 34: regmatch_t rm[2]; 35: int n; 36: 37: mtrace (); 38: 39: n = regcomp (&re, "a test", REG_EXTENDED); 40: if (n != 0) 41: { 42: char buf[500]; 43: regerror (n, &re, buf, sizeof (buf)); 44: printf ("regcomp failed: %s\n", buf); 45: exit (1); 46: } 47: 48: for (n = 0; n < 20; ++n) 49: regexec (&re, text, 2, rm, 0); 50: 51: regfree (&re); 52: 53: return 0; 54: }