/****************************************************************************
- * 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 *
/*
* Author: Thomas E. Dickey
*
- * $Id: cardfile.c,v 1.29 2007/03/10 19:16:45 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.
*/
#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);
break;
}
- card = (CARD *) calloc(1, sizeof(CARD));
+ card = typeCalloc(CARD, 1);
card->title = strdup(title);
card->content = strdup("");
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);
- strcpy(card->content + offset++, " ");
+ 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);
}
- strcpy(card->content + offset, content);
+ if (card->content)
+ strcpy(card->content + offset, content);
}
}
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);
setlocale(LC_ALL, "");
- while ((n = getopt(argc, argv, "c")) != EOF) {
+ while ((n = getopt(argc, argv, "c")) != -1) {
switch (n) {
case 'c':
try_color = TRUE;