X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Ftset.c;h=bf3bf1929c285af5d51616ad9423139658d5fb4b;hp=71a1845ff7d0b2512d5b4847bd1b54d2ed246c97;hb=85b1a478852e6473f6f698af5f6fca055f43f21c;hpb=c120fddebe9e9c1e2b29dbd744a6b1d03652bf8b diff --git a/progs/tset.c b/progs/tset.c index 71a1845f..bf3bf192 100644 --- a/progs/tset.c +++ b/progs/tset.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. * + * Copyright (c) 1998-2011,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 * @@ -119,7 +119,7 @@ char *ttyname(int fd); #include #include -MODULE_ID("$Id: tset.c,v 1.84 2011/05/21 18:55:32 tom Exp $") +MODULE_ID("$Id: tset.c,v 1.89 2012/02/22 22:50:47 tom Exp $") /* * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS, @@ -164,7 +164,10 @@ static bool isreset = FALSE; /* invoked as reset */ static int terasechar = -1; /* new erase character */ static int intrchar = -1; /* new interrupt character */ static int tkillchar = -1; /* new kill character */ + +#if HAVE_SIZECHANGE static int tlines, tcolumns; /* window size */ +#endif #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c)) @@ -210,10 +213,10 @@ failed(const char *msg) size_t len = strlen(_nc_progname) + 2; if ((int) len < (int) sizeof(temp) - 12) { - strcpy(temp, _nc_progname); - strcat(temp, ": "); + _nc_STRCPY(temp, _nc_progname, sizeof(temp)); + _nc_STRCAT(temp, ": ", sizeof(temp)); } else { - strcpy(temp, "tset: "); + _nc_STRCPY(temp, "tset: ", sizeof(temp)); } perror(strncat(temp, msg, sizeof(temp) - strlen(temp) - 2)); exit_error(); @@ -1047,11 +1050,18 @@ set_tabs(void) { if (set_tab && clear_all_tabs) { int c; + int lim = +#if HAVE_SIZECHANGE + tcolumns +#else + columns +#endif + ; (void) putc('\r', stderr); /* Force to left margin. */ tputs(clear_all_tabs, 0, outc); - for (c = 8; c < tcolumns; c += 8) { + for (c = 8; c < lim; c += 8) { /* Get to the right column. In BSD tset, this * used to try a bunch of half-clever things * with cup and hpa, for an average saving of @@ -1277,10 +1287,10 @@ main(int argc, char **argv) (void) get_termcap_entry(*argv); if (!noset) { +#if HAVE_SIZECHANGE tcolumns = columns; tlines = lines; -#if HAVE_SIZECHANGE if (opt_w) { STRUCT_WINSIZE win; /* Set window size if not set already */