/****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2016 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 *
#include <sys/types.h>
#include <tic.h>
-MODULE_ID("$Id: read_termcap.c,v 1.86 2012/02/22 22:40:24 tom Exp $")
+MODULE_ID("$Id: read_termcap.c,v 1.90 2016/09/10 20:13:11 tom Exp $")
#if !PURE_TERMINFO
dst = 0;
break;
}
- *dst++ = ch;
+ *dst++ = (char) ch;
}
return dst;
}
int i;
char pathbuf[PBUFSIZ]; /* holds raw path of filenames */
CGETENT_CONST char *pathvec[PVECSIZ]; /* point to names in pathbuf */
- CGETENT_CONST char **pvec; /* holds usable tail of path vector */
NCURSES_CONST char *termpath;
string_desc desc;
*lineno = 1;
fname = pathvec;
- pvec = pathvec;
p = pathbuf;
cp = use_terminfo_vars()? getenv("TERMCAP") : NULL;
}
if (ignore != TRUE) {
list[count++] = tok;
- pd = copy_tc_token(pd, tok, TBUFSIZ - (2 + pd - bp));
+ pd = copy_tc_token(pd, tok, (size_t) (TBUFSIZ - (2 + pd - bp)));
if (pd == 0) {
i = -1;
break;
#endif
#if USE_GETCAP
char *p, tc[TBUFSIZ];
+#define MY_SIZE sizeof(tc) - 1
int status;
static char *source;
static int lineno;
if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0
&& !_nc_is_abs_path(p) && _nc_name_match(p, tn, "|:")) {
/* TERMCAP holds a termcap entry */
- strncpy(tc, p, sizeof(tc) - 1);
- tc[sizeof(tc) - 1] = '\0';
+ _nc_STRNCPY(tc, p, MY_SIZE);
+ tc[MY_SIZE] = '\0';
_nc_set_source("TERMCAP");
} else {
/* we're using getcap(3) */
* from the list.
*/
*tp = ep->tterm;
- _nc_delink_entry(_nc_head, &(ep->tterm));
- free(ep);
+ _nc_free_entry(_nc_head, &(ep->tterm));
/*
* OK, now try to write the type to user's terminfo directory.