ncurses 5.7 - patch 20090815
[ncurses.git] / form / fty_regex.c
index 4362f25af4005b82583fa4d8cd376e4471e51a68..247779f28c1d49ae6b2f19aae5dd8fde81d12b14 100644 (file)
@@ -1,10 +1,31 @@
+/****************************************************************************
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
 
-/*
- * THIS CODE IS SPECIFICALLY EXEMPTED FROM THE NCURSES PACKAGE COPYRIGHT.
- * You may freely copy it for use as a template for your own field types.
- * If you develop a field type that might be of general use, please send
- * it back to the ncurses maintainers for inclusion in the next version.
- */
 /***************************************************************************
 *                                                                          *
 *  Author : Juergen Pfeifer                                                *
@@ -13,7 +34,7 @@
 
 #include "form.priv.h"
 
-MODULE_ID("$Id: fty_regex.c,v 1.18 2004/05/29 19:19:09 tom Exp $")
+MODULE_ID("$Id: fty_regex.c,v 1.21 2007/10/13 19:33:50 tom Exp $")
 
 #if HAVE_REGEX_H_FUNCS         /* We prefer POSIX regex */
 #include <regex.h>
@@ -84,15 +105,17 @@ Make_RegularExpression_Type(va_list *ap)
   char *rx = va_arg(*ap, char *);
   RegExp_Arg *preg;
 
-  preg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg));
+  preg = typeMalloc(RegExp_Arg, 1);
 
   if (preg)
     {
-      if (((preg->pRegExp = (regex_t *) malloc(sizeof(regex_t))) != 0)
+      T((T_CREATE("RegExp_Arg %p"), preg));
+      if (((preg->pRegExp = typeMalloc(regex_t, 1)) != 0)
          && !regcomp(preg->pRegExp, rx,
                      (REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
        {
-         preg->refCount = (unsigned long *)malloc(sizeof(unsigned long));
+         T((T_CREATE("regex_t %p"), preg->pRegExp));
+         preg->refCount = typeMalloc(unsigned long, 1);
 
          *(preg->refCount) = 1;
        }
@@ -109,20 +132,21 @@ Make_RegularExpression_Type(va_list *ap)
   char *rx = va_arg(*ap, char *);
   RegExp_Arg *pArg;
 
-  pArg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg));
+  pArg = typeMalloc(RegExp_Arg, 1);
 
   if (pArg)
     {
       int blen = RX_INCREMENT;
 
+      T((T_CREATE("RegExp_Arg %p"), pArg));
       pArg->compiled_expression = NULL;
-      pArg->refCount = (unsigned long *)malloc(sizeof(unsigned long));
+      pArg->refCount = typeMalloc(unsigned long, 1);
 
       *(pArg->refCount) = 1;
 
       do
        {
-         char *buf = (char *)malloc(blen);
+         char *buf = typeMalloc(char, blen);
 
          if (buf)
            {