Use p_new instead of xmalloc()
[apps/madmutt.git] / makedoc.c
index f68f969..91f6630 100644 (file)
--- a/makedoc.c
+++ b/makedoc.c
@@ -157,7 +157,7 @@ int main (int argc, char *argv[])
 
 static void add_var (const char *name)
 {
-  outbuf = realloc (outbuf, (++outcount) * sizeof (var_t));
+  p_realloc(&outbuf, ++outcount);
   outbuf[outcount - 1].seen = 0;
   outbuf[outcount - 1].name = strdup(name);
   outbuf[outcount - 1].descr = NULL;
@@ -177,9 +177,8 @@ static int add_s (const char *s)
   if (lold == 0)
     outbuf[outcount - 1].descr = strdup(s);
   else {
-    outbuf[outcount - 1].descr =
-      realloc (outbuf[outcount - 1].descr, lold + lnew + 1);
-    memcpy (&(outbuf[outcount - 1].descr[lold - 1]) + 1, s, lnew);
+    p_realloc(&outbuf[outcount - 1].descr, lold + lnew + 1);
+    memcpy(&(outbuf[outcount - 1].descr[lold - 1]) + 1, s, lnew);
   }
   outbuf[outcount - 1].descr[lold + lnew] = '\0';
   return (1);
@@ -234,11 +233,11 @@ static void makedoc (FILE * in, FILE * out)
   for (line = 0; line < outcount; line++) {
     if (outbuf[line].descr) {
       fprintf (out, "%s\n", outbuf[line].descr);
-      free (outbuf[line].descr);
+      p_delete(&outbuf[line].descr);
     }
-    free (outbuf[line].name);
+    p_delete(&outbuf[line].name);
   }
-  free (outbuf);
+  p_delete(&outbuf);
 }
 
 /* skip whitespace */
@@ -458,23 +457,23 @@ static void handle_confline (char *s)
   print_confline (varname, type, val);
 }
 
-static void char_to_escape (char *dest, unsigned int c)
+static void char_to_escape (char *dest, int len, unsigned int c)
 {
   switch (c) {
   case '\r':
-    strcpy (dest, "\\r");
-    break;                      /* __STRCPY_CHECKED__ */
+    m_strcpy(dest, len, "\\r");
+    break;
   case '\n':
-    strcpy (dest, "\\n");
-    break;                      /* __STRCPY_CHECKED__ */
+    m_strcpy(dest, len, "\\n");
+    break;
   case '\t':
-    strcpy (dest, "\\t");
-    break;                      /* __STRCPY_CHECKED__ */
+    m_strcpy(dest, len, "\\t");
+    break;
   case '\f':
-    strcpy (dest, "\\f");
-    break;                      /* __STRCPY_CHECKED__ */
+    m_strcpy(dest, len, "\\f");
+    break;
   default:
-    sprintf (dest, "\\%03o", c);
+    sprintf (dest, len, "\\%03o", c);
     break;
   }
 }
@@ -482,7 +481,7 @@ static void conf_char_to_escape (unsigned int c)
 {
   char buff[16];
 
-  char_to_escape (buff, c);
+  char_to_escape(buff, sizeof(buff), c);
   add_s (buff);
 }
 
@@ -524,7 +523,7 @@ static void sgml_print_strval (const char *v)
 
   for (; *v; v++) {
     if (*v < ' ' || *v & 0x80) {
-      char_to_escape (buff, (unsigned int) *v);
+      char_to_escape(buff, sizeof(buff), (unsigned int) *v);
       sgml_fputs (buff);
       continue;
     }