]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/cardfile.c
ncurses 5.9 - patch 20130209
[ncurses.git] / test / cardfile.c
index 68ae4fe0526e1721b40bd04a368d6ebf8b5fe295..ef224c9b9006e82418ac53a92cee0ea759d968be 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1999-2007,2008 Free Software Foundation, Inc.              *
+ * Copyright (c) 1999-2010,2012 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.35 2008/08/05 00:42:24 tom Exp $
+ * $Id: cardfile.c,v 1.41 2012/11/03 19:26:50 tom Exp $
  *
  * File format: text beginning in column 1 is a title; other text is content.
  */
@@ -68,17 +68,13 @@ static CARD *all_cards;
 static bool try_color = FALSE;
 static char default_name[] = "cardfile.dat";
 
-#if !HAVE_STRDUP
-#define strdup my_strdup
-static char *
-strdup(const char *s)
+static void
+failed(const char *s)
 {
-    char *p = typeMalloc(char, strlen(s) + 1);
-    if (p)
-       strcpy(p, s);
-    return (p);
+    perror(s);
+    endwin();
+    ExitProgram(EXIT_FAILURE);
 }
-#endif /* not HAVE_STRDUP */
 
 static const char *
 skip(const char *buffer)
@@ -91,7 +87,7 @@ skip(const char *buffer)
 static void
 trim(char *buffer)
 {
-    unsigned n = strlen(buffer);
+    size_t n = strlen(buffer);
     while (n-- && isspace(UChar(buffer[n])))
        buffer[n] = 0;
 }
@@ -129,7 +125,7 @@ add_title(const char *title)
 static void
 add_content(CARD * card, const char *content)
 {
-    unsigned total, offset;
+    size_t total, offset;
 
     content = skip(content);
     if ((total = strlen(content)) != 0) {
@@ -146,6 +142,8 @@ add_content(CARD * card, const char *content)
        }
        if (card->content)
            strcpy(card->content + offset, content);
+       else
+           failed("add_content");
     }
 }
 
@@ -262,7 +260,7 @@ next_card(CARD * now)
        if (isVisible(tst))
            now = tst;
        else
-           tst = next_card(tst);
+           (void) next_card(tst);
     }
     return now;
 }
@@ -414,7 +412,7 @@ cardfile(char *fname)
        if ((win = newwin(panel_high, panel_wide, y, x)) == 0)
            break;
 
-       wbkgd(win, COLOR_PAIR(pair_2));
+       wbkgd(win, (chtype) COLOR_PAIR(pair_2));
        keypad(win, TRUE);
        p->panel = new_panel(win);
        box(win, 0, 0);
@@ -523,14 +521,12 @@ cardfile(char *fname)
 #if NO_LEAKS
     while (all_cards != 0) {
        FIELD **f;
-       int count;
 
        p = all_cards;
        all_cards = all_cards->link;
 
        if (isVisible(p)) {
            f = form_fields(p->form);
-           count = field_count(p->form);
 
            unpost_form(p->form);       /* ...so we can free it */
            free_form(p->form); /* this also disconnects the fields */
@@ -590,7 +586,7 @@ main(int argc, char *argv[])
            start_color();
            init_pair(pair_1, COLOR_WHITE, COLOR_BLUE);
            init_pair(pair_2, COLOR_WHITE, COLOR_CYAN);
-           bkgd(COLOR_PAIR(pair_1));
+           bkgd((chtype) COLOR_PAIR(pair_1));
        } else {
            try_color = FALSE;
        }