]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/cardfile.c
ncurses 5.7 - patch 20090718
[ncurses.git] / test / cardfile.c
index 755a28b7baae0ac73953911ee7b7a4ae7e61cded..68ae4fe0526e1721b40bd04a368d6ebf8b5fe295 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1999-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1999-2007,2008 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            *
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey
  *
- * $Id: cardfile.c,v 1.31 2007/07/21 17:41:55 tom Exp $
+ * $Id: cardfile.c,v 1.35 2008/08/05 00:42:24 tom Exp $
  *
  * File format: text beginning in column 1 is a title; other text is content.
  */
@@ -71,9 +71,9 @@ static char default_name[] = "cardfile.dat";
 #if !HAVE_STRDUP
 #define strdup my_strdup
 static char *
-strdup(char *s)
+strdup(const char *s)
 {
-    char *p = (char *) malloc(strlen(s) + 1);
+    char *p = typeMalloc(char, strlen(s) + 1);
     if (p)
        strcpy(p, s);
     return (p);
@@ -111,7 +111,7 @@ add_title(const char *title)
            break;
     }
 
-    card = (CARD *) calloc(1, sizeof(CARD));
+    card = typeCalloc(CARD, 1);
     card->title = strdup(title);
     card->content = strdup("");
 
@@ -133,15 +133,16 @@ add_content(CARD * card, const char *content)
 
     content = skip(content);
     if ((total = strlen(content)) != 0) {
-       if ((offset = strlen(card->content)) != 0) {
+       if (card->content != 0 && (offset = strlen(card->content)) != 0) {
            total += 1 + offset;
-           card->content = (char *) realloc(card->content, total + 1);
+           card->content = typeRealloc(char, total + 1, card->content);
            if (card->content)
                strcpy(card->content + offset++, " ");
        } else {
+           offset = 0;
            if (card->content != 0)
                free(card->content);
-           card->content = (char *) malloc(total + 1);
+           card->content = typeMalloc(char, total + 1);
        }
        if (card->content)
            strcpy(card->content + offset, content);
@@ -336,7 +337,7 @@ form_virtualize(WINDOW *w)
 static FIELD **
 make_fields(CARD * p, int form_high, int form_wide)
 {
-    FIELD **f = (FIELD **) calloc(3, sizeof(FIELD *));
+    FIELD **f = typeCalloc(FIELD *, 3);
 
     f[0] = new_field(1, form_wide, 0, 0, 0, 0);
     set_field_back(f[0], A_REVERSE);