aboutsummaryrefslogtreecommitdiff
path: root/progs
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2014-02-28 19:12:44 +0000
committerXin LI <delphij@FreeBSD.org>2014-02-28 19:12:44 +0000
commit4b819fa20a8d007a10f2d3e8d6a5dedf7f18fc9a (patch)
treeb8f6e12b479a78216f3bffb8e1258d54087268de /progs
parente07762606a5bf651a501cb095c98cba90e4a8fe2 (diff)
downloadsrc-4b819fa20a8d007a10f2d3e8d6a5dedf7f18fc9a.tar.gz
src-4b819fa20a8d007a10f2d3e8d6a5dedf7f18fc9a.zip
Undo two previous imports which was never done in preparation of doing a
new import.
Notes
Notes: svn path=/vendor/ncurses/dist/; revision=262616
Diffstat (limited to 'progs')
-rw-r--r--progs/Makefile.in49
-rw-r--r--progs/dump_entry.c16
-rw-r--r--progs/infocmp.c24
-rw-r--r--progs/modules10
-rw-r--r--progs/tabs.c510
-rw-r--r--progs/tic.c207
-rw-r--r--progs/toe.c23
-rw-r--r--progs/tput.c60
-rw-r--r--progs/transform.c79
-rw-r--r--progs/tset.c38
10 files changed, 84 insertions, 932 deletions
diff --git a/progs/Makefile.in b/progs/Makefile.in
index bdb8a0f04898..886fd5be2465 100644
--- a/progs/Makefile.in
+++ b/progs/Makefile.in
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.85 2010/11/27 21:45:27 tom Exp $
+# $Id: Makefile.in,v 1.79 2008/09/07 13:58:55 tom Exp $
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2006,2007 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 "Software"), #
@@ -43,7 +43,6 @@
.SUFFIXES:
SHELL = /bin/sh
-VPATH = @srcdir@
THIS = Makefile
CF_MFLAGS = @cf_cv_makeflags@
@@ -77,9 +76,6 @@ transform = @program_transform_name@
AWK = @AWK@
LN_S = @LN_S@
-CTAGS = @CTAGS@
-ETAGS = @ETAGS@
-
CC = @CC@
CPP = @CPP@
CFLAGS = @CFLAGS@
@@ -128,7 +124,7 @@ AUTO_SRC = \
transform.h
# tic relies on direct access to the terminfo database
-GET_PROGS = infocmp$x clear$x tabs$x tput$x tset$x toe$x
+GET_PROGS = infocmp$x clear$x tput$x tset$x toe$x
PUT_PROGS = @MAKE_TERMINFO@ tic$x
PROGS = $(PUT_PROGS) $(GET_PROGS)
@@ -163,7 +159,6 @@ actual_infocmp = `echo infocmp$x| $(TRANSFORM)`
actual_infotocap = `echo infotocap$x| $(TRANSFORM)`
actual_init = `echo init$x| $(TRANSFORM)`
actual_reset = `echo reset$x| $(TRANSFORM)`
-actual_tabs = `echo tabs$x| $(TRANSFORM)`
actual_tic = `echo tic$x| $(TRANSFORM)`
actual_toe = `echo toe$x| $(TRANSFORM)`
actual_tput = `echo tput$x| $(TRANSFORM)`
@@ -176,16 +171,10 @@ define_init = `echo init| $(TRANSFORM)`
define_reset = `echo reset| $(TRANSFORM)`
transform.h :
- echo "#ifndef __TRANSFORM_H" >$@
- echo "#define __TRANSFORM_H 1" >>$@
- echo "#include <progs.priv.h>" >>$@
- echo "extern bool same_program(const char *, const char *);" >>$@
- -sh -c 'if test -n "$x" ; then echo "#define SUFFIX_IGNORED \"$x\"">>$@; fi'
- echo "#define PROG_CAPTOINFO \"$(define_captoinfo)\"" >>$@
- echo "#define PROG_INFOTOCAP \"$(define_infotocap)\"" >>$@
- echo "#define PROG_RESET \"$(define_reset)\"" >>$@
- echo "#define PROG_INIT \"$(define_init)\"" >>$@
- echo "#endif /* __TRANSFORM_H */" >>$@
+ echo "#define PROG_CAPTOINFO \"$(define_captoinfo)\"" >$@
+ echo "#define PROG_INFOTOCAP \"$(define_infotocap)\"" >>$@
+ echo "#define PROG_RESET \"$(define_reset)\"" >>$@
+ echo "#define PROG_INIT \"$(define_init)\"" >>$@
install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROG) tic$x $(DESTDIR)$(bindir)/$(actual_tic)
@@ -198,7 +187,6 @@ install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
@MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
$(LIBTOOL_INSTALL) $(INSTALL_PROG) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
$(LIBTOOL_INSTALL) $(INSTALL_PROG) clear$x $(DESTDIR)$(bindir)/$(actual_clear)
- $(LIBTOOL_INSTALL) $(INSTALL_PROG) tabs$x $(DESTDIR)$(bindir)/$(actual_tabs)
$(LIBTOOL_INSTALL) $(INSTALL_PROG) tput$x $(DESTDIR)$(bindir)/$(actual_tput)
$(LIBTOOL_INSTALL) $(INSTALL_PROG) tset$x $(DESTDIR)$(bindir)/$(actual_tset)
@echo "linking $(actual_reset) to $(actual_tset)"
@@ -212,13 +200,12 @@ uninstall.progs:
@MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
- -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tabs)
-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
$(DESTDIR)$(bindir) :
- mkdir -p $@
+ sh $(srcdir)/../mkdirs.sh $@
#
# Utilities normally built by make all start here
@@ -226,8 +213,7 @@ $(DESTDIR)$(bindir) :
DEPS_TIC = \
$(MODEL)/tic$o \
- $(MODEL)/dump_entry$o \
- $(MODEL)/transform$o
+ $(MODEL)/dump_entry$o
tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
@ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
@@ -244,15 +230,8 @@ DEPS_CLEAR = \
clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
@ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
-DEPS_TABS = \
- $(MODEL)/tabs$o
-
-tabs$x: $(DEPS_TABS) $(DEPS_TABS)
- @ECHO_LINK@ $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
-
DEPS_TPUT = \
- $(MODEL)/tput$o \
- $(MODEL)/transform$o
+ $(MODEL)/tput$o
tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
@ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
@@ -265,8 +244,7 @@ infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES)
@ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
DEPS_TSET = \
- $(MODEL)/tset$o \
- $(MODEL)/transform$o
+ $(MODEL)/tset$o
tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
@ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
@@ -279,10 +257,10 @@ termsort.c: $(srcdir)/MKtermsort.sh
#
tags:
- $(CTAGS) *.[ch]
+ ctags *.[ch]
@MAKE_UPPER_TAGS@TAGS:
-@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch]
+@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
@@ -311,7 +289,6 @@ lint:
@MAKE_TERMINFO@ $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/toe.c $(srcdir)/dump_entry.c $(LINT_LIBS)
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/clear.c $(LINT_LIBS)
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/infocmp.c $(srcdir)/dump_entry.c $(LINT_LIBS)
- $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tabs.c $(LINT_LIBS)
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tput.c $(LINT_LIBS)
$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tset.c $(srcdir)/dump_entry.c $(LINT_LIBS)
diff --git a/progs/dump_entry.c b/progs/dump_entry.c
index 485bbbd91d64..bd2422008bf7 100644
--- a/progs/dump_entry.c
+++ b/progs/dump_entry.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -39,7 +39,7 @@
#include "termsort.c" /* this C file is generated */
#include <parametrized.h> /* so is this */
-MODULE_ID("$Id: dump_entry.c,v 1.89 2010/05/01 22:04:08 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.88 2008/08/04 12:36:12 tom Exp $")
#define INDENT 8
#define DISCARD(string) string = ABSENT_STRING
@@ -1040,7 +1040,7 @@ dump_entry(TERMTYPE *tterm,
save_sgr = set_attributes;
- if ((FMT_ENTRY() > critlen)
+ if (((len = FMT_ENTRY()) > critlen)
&& limited) {
save_tterm = *tterm;
@@ -1049,7 +1049,7 @@ dump_entry(TERMTYPE *tterm,
critlen);
suppress_untranslatable = TRUE;
}
- if (FMT_ENTRY() > critlen) {
+ if ((len = FMT_ENTRY()) > critlen) {
/*
* We pick on sgr because it's a nice long string capability that
* is really just an optimization hack. Another good candidate is
@@ -1075,7 +1075,7 @@ dump_entry(TERMTYPE *tterm,
critlen);
}
changed = TRUE;
- if (FMT_ENTRY() <= critlen)
+ if ((len = FMT_ENTRY()) <= critlen)
break;
}
}
@@ -1086,7 +1086,7 @@ dump_entry(TERMTYPE *tterm,
critlen);
changed = TRUE;
}
- if (!changed || (FMT_ENTRY() > critlen)) {
+ if (!changed || ((len = FMT_ENTRY()) > critlen)) {
if (purged_acs(tterm)) {
acs_chars = ABSENT_STRING;
SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
@@ -1094,7 +1094,7 @@ dump_entry(TERMTYPE *tterm,
changed = TRUE;
}
}
- if (!changed || (FMT_ENTRY() > critlen)) {
+ if (!changed || ((len = FMT_ENTRY()) > critlen)) {
int oldversion = tversion;
tversion = V_BSD;
@@ -1130,7 +1130,7 @@ dump_entry(TERMTYPE *tterm,
} else if (!version_filter(STRING, STR_IDX(acs_chars))) {
save_tterm = *tterm;
if (purged_acs(tterm)) {
- (void) FMT_ENTRY();
+ len = FMT_ENTRY();
}
*tterm = save_tterm;
}
diff --git a/progs/infocmp.c b/progs/infocmp.c
index 2af9cb50b1d7..84989ffc63d4 100644
--- a/progs/infocmp.c
+++ b/progs/infocmp.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -42,7 +42,7 @@
#include <dump_entry.h>
-MODULE_ID("$Id: infocmp.c,v 1.105 2010/05/01 22:04:08 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.103 2008/08/16 22:04:56 tom Exp $")
#define L_CURL "{"
#define R_CURL "}"
@@ -894,6 +894,8 @@ file_comparison(int argc, char *argv[])
(void) printf("The following entries are equivalent:\n");
for (qp = heads[0]; qp; qp = qp->next) {
+ rp = qp->crosslinks[0];
+
if (qp->ncrosslinks == 1) {
rp = qp->crosslinks[0];
@@ -1253,15 +1255,6 @@ terminal_env(void)
*
***************************************************************************/
-#if NO_LEAKS
-#define MAIN_LEAKS() \
- free(myargv); \
- free(tfile); \
- free(tname)
-#else
-#define MAIN_LEAKS() /* nothing */
-#endif
-
int
main(int argc, char *argv[])
{
@@ -1521,7 +1514,6 @@ main(int argc, char *argv[])
#else
(void) fprintf(stderr, "%s: terminfo files not supported\n",
_nc_progname);
- MAIN_LEAKS();
ExitProgram(EXIT_FAILURE);
#endif
} else {
@@ -1534,6 +1526,7 @@ main(int argc, char *argv[])
status = _nc_read_entry(tname[termcount],
tfile[termcount],
&entries[termcount].tterm);
+ directory = TERMINFO; /* for error message */
}
if (status <= 0) {
@@ -1541,7 +1534,6 @@ main(int argc, char *argv[])
"%s: couldn't open terminfo file %s.\n",
_nc_progname,
tfile[termcount]);
- MAIN_LEAKS();
ExitProgram(EXIT_FAILURE);
}
repair_acsc(&entries[termcount].tterm);
@@ -1650,7 +1642,11 @@ main(int argc, char *argv[])
else
file_comparison(argc - optind, argv + optind);
- MAIN_LEAKS();
+#if NO_LEAKS
+ free(myargv);
+ free(tfile);
+ free(tname);
+#endif
ExitProgram(EXIT_SUCCESS);
}
diff --git a/progs/modules b/progs/modules
index 55d7a9fb9694..3b4f3b602369 100644
--- a/progs/modules
+++ b/progs/modules
@@ -1,7 +1,7 @@
-# $Id: modules,v 1.17 2010/01/23 17:47:23 tom Exp $
+# $Id: modules,v 1.13 2006/12/24 00:53:21 tom Exp $
# Program modules (some are in ncurses lib!)
##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2005,2006 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 "Software"), #
@@ -34,12 +34,10 @@
@ base
clear progs $(srcdir) $(HEADER_DEPS)
tic progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h
-toe progs $(srcdir) $(HEADER_DEPS) $(INCDIR)/hashed_db.h
+toe progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h
dump_entry progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h ../include/parametrized.h $(INCDIR)/capdefaults.c termsort.c
infocmp progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h
-tabs progs $(srcdir) $(HEADER_DEPS)
-tput progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h termsort.c
+tput progs $(srcdir) $(HEADER_DEPS) transform.h termsort.c
tset progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h ../include/termcap.h
-transform progs $(srcdir) $(HEADER_DEPS) transform.h
# vile:makemode
diff --git a/progs/tabs.c b/progs/tabs.c
deleted file mode 100644
index b59c9086d8d3..000000000000
--- a/progs/tabs.c
+++ /dev/null
@@ -1,510 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008-2009,2010 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 *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Thomas E. Dickey 2008 *
- ****************************************************************************/
-
-/*
- * tabs.c -- set terminal hard-tabstops
- */
-
-#define USE_LIBTINFO
-#include <progs.priv.h>
-
-MODULE_ID("$Id: tabs.c,v 1.19 2010/10/23 22:26:01 tom Exp $")
-
-static void usage(void) GCC_NORETURN;
-
-static int max_cols;
-
-static int
-putch(int c)
-{
- return putchar(c);
-}
-
-static void
-do_tabs(int *tab_list)
-{
- int last = 1;
- int stop;
-
- putchar('\r');
- while ((stop = *tab_list++) > 0) {
- if (last < stop) {
- while (last++ < stop) {
- if (last > max_cols)
- break;
- putchar(' ');
- }
- }
- if (stop <= max_cols) {
- tputs(tparm(set_tab, stop), 1, putch);
- last = stop;
- } else {
- break;
- }
- }
- putchar('\n');
-}
-
-static int *
-decode_tabs(const char *tab_list)
-{
- int *result = typeCalloc(int, strlen(tab_list) + (unsigned) max_cols);
- int n = 0;
- int value = 0;
- int prior = 0;
- int ch;
-
- if (result != 0) {
- while ((ch = *tab_list++) != '\0') {
- if (isdigit(UChar(ch))) {
- value *= 10;
- value += (ch - '0');
- } else if (ch == ',') {
- result[n] = value + prior;
- if (n > 0 && result[n] <= result[n - 1]) {
- fprintf(stderr,
- "tab-stops are not in increasing order: %d %d\n",
- value, result[n - 1]);
- free(result);
- result = 0;
- break;
- }
- ++n;
- value = 0;
- prior = 0;
- } else if (ch == '+') {
- if (n)
- prior = result[n - 1];
- }
- }
- }
-
- if (result != 0) {
- /*
- * If there is only one value, then it is an option such as "-8".
- */
- if ((n == 0) && (value > 0)) {
- int step = value;
- while (n < max_cols - 1) {
- result[n++] = value;
- value += step;
- }
- }
-
- /*
- * Add the last value, if any.
- */
- result[n++] = value + prior;
- result[n] = 0;
- }
- return result;
-}
-
-static void
-print_ruler(int *tab_list)
-{
- int last = 0;
- int stop;
- int n;
-
- /* first print a readable ruler */
- for (n = 0; n < max_cols; n += 10) {
- int ch = 1 + (n / 10);
- char buffer[20];
- sprintf(buffer, "----+----%c",
- ((ch < 10)
- ? (ch + '0')
- : (ch + 'A' - 10)));
- printf("%.*s", ((max_cols - n) > 10) ? 10 : (max_cols - n), buffer);
- }
- putchar('\n');
-
- /* now, print '*' for each stop */
- for (n = 0, last = 0; (tab_list[n] > 0) && (last < max_cols); ++n) {
- stop = tab_list[n];
- while (++last < stop) {
- if (last <= max_cols) {
- putchar('-');
- } else {
- break;
- }
- }
- if (last <= max_cols) {
- putchar('*');
- last = stop;
- } else {
- break;
- }
- }
- while (++last <= max_cols)
- putchar('-');
- putchar('\n');
-}
-
-/*
- * Write an '*' on each tabstop, to demonstrate whether it lines up with the
- * ruler.
- */
-static void
-write_tabs(int *tab_list)
-{
- int stop;
-
- while ((stop = *tab_list++) > 0 && stop <= max_cols) {
- fputs((stop == 1) ? "*" : "\t*", stdout);
- };
- /* also show a tab _past_ the stops */
- if (stop < max_cols)
- fputs("\t+", stdout);
- putchar('\n');
-}
-
-/*
- * Trim leading/trailing blanks, as well as blanks after a comma.
- * Convert embedded blanks to commas.
- */
-static char *
-trimmed_tab_list(const char *source)
-{
- char *result = strdup(source);
- int ch, j, k, last;
-
- if (result != 0) {
- for (j = k = last = 0; result[j] != 0; ++j) {
- ch = UChar(result[j]);
- if (isspace(ch)) {
- if (last == '\0') {
- continue;
- } else if (isdigit(last) || last == ',') {
- ch = ',';
- }
- } else if (ch == ',') {
- ;
- } else {
- if (last == ',')
- result[k++] = (char) last;
- result[k++] = (char) ch;
- }
- last = ch;
- }
- result[k] = '\0';
- }
- return result;
-}
-
-static bool
-comma_is_needed(const char *source)
-{
- bool result = FALSE;
-
- if (source != 0) {
- unsigned len = strlen(source);
- if (len != 0)
- result = (source[len - 1] != ',');
- } else {
- result = FALSE;
- }
- return result;
-}
-
-/*
- * Add a command-line parameter to the tab-list. It can be blank- or comma-
- * separated (or a mixture). For simplicity, empty tabs are ignored, e.g.,
- * tabs 1,,6,11
- * tabs 1,6,11
- * are treated the same.
- */
-static const char *
-add_to_tab_list(char **append, const char *value)
-{
- char *result = *append;
- char *copied = trimmed_tab_list(value);
-
- if (copied != 0 && *copied != '\0') {
- const char *comma = ",";
- unsigned need = 1 + strlen(copied);
-
- if (*copied == ',')
- comma = "";
- else if (!comma_is_needed(*append))
- comma = "";
-
- need += strlen(comma);
- if (*append != 0)
- need += strlen(*append);
-
- result = malloc(need);
- if (result != 0) {
- *result = '\0';
- if (*append != 0) {
- strcpy(result, *append);
- free(*append);
- }
- strcat(result, comma);
- strcat(result, copied);
- }
-
- *append = result;
- }
- return result;
-}
-
-/*
- * Check for illegal characters in the tab-list.
- */
-static bool
-legal_tab_list(const char *program, const char *tab_list)
-{
- bool result = TRUE;
-
- if (tab_list != 0 && *tab_list != '\0') {
- if (comma_is_needed(tab_list)) {
- int n, ch;
- for (n = 0; tab_list[n] != '\0'; ++n) {
- ch = UChar(tab_list[n]);
- if (!(isdigit(ch) || ch == ',' || ch == '+')) {
- fprintf(stderr,
- "%s: unexpected character found '%c'\n",
- program, ch);
- result = FALSE;
- break;
- }
- }
- } else {
- fprintf(stderr, "%s: trailing comma found '%s'\n", program, tab_list);
- result = FALSE;
- }
- } else {
- fprintf(stderr, "%s: no tab-list given\n", program);
- result = FALSE;
- }
- return result;
-}
-
-static void
-usage(void)
-{
- static const char *msg[] =
- {
- "Usage: tabs [options] [tabstop-list]"
- ,""
- ,"Options:"
- ," -0 reset tabs"
- ," -8 set tabs to standard interval"
- ," -a Assembler, IBM S/370, first format"
- ," -a2 Assembler, IBM S/370, second format"
- ," -c COBOL, normal format"
- ," -c2 COBOL compact format"
- ," -c3 COBOL compact format extended"
- ," -d debug (show ruler with expected/actual tab positions)"
- ," -f FORTRAN"
- ," -n no-op (do not modify terminal settings)"
- ," -p PL/I"
- ," -s SNOBOL"
- ," -u UNIVAC 1100 Assembler"
- ," -T name use terminal type 'name'"
- ,""
- ,"A tabstop-list is an ordered list of column numbers, e.g., 1,11,21"
- ,"or 1,+10,+10 which is the same."
- };
- unsigned n;
-
- fflush(stdout);
- for (n = 0; n < SIZEOF(msg); ++n) {
- fprintf(stderr, "%s\n", msg[n]);
- }
- ExitProgram(EXIT_FAILURE);
-}
-
-int
-main(int argc, char *argv[])
-{
- int rc = EXIT_FAILURE;
- bool debug = FALSE;
- bool no_op = FALSE;
- int n, ch;
- NCURSES_CONST char *term_name = 0;
- const char *mar_list = 0; /* ignored */
- char *append = 0;
- const char *tab_list = 0;
-
- if ((term_name = getenv("TERM")) == 0)
- term_name = "ansi+tabs";
-
- /* cannot use getopt, since some options are two-character */
- for (n = 1; n < argc; ++n) {
- char *option = argv[n];
- switch (option[0]) {
- case '-':
- while ((ch = *++option) != '\0') {
- switch (ch) {
- case 'a':
- switch (*option) {
- case '\0':
- tab_list = "1,10,16,36,72";
- /* Assembler, IBM S/370, first format */
- break;
- case '2':
- tab_list = "1,10,16,40,72";
- /* Assembler, IBM S/370, second format */
- break;
- default:
- usage();
- }
- break;
- case 'c':
- switch (*option) {
- case '\0':
- tab_list = "1,8,12,16,20,55";
- /* COBOL, normal format */
- break;
- case '2':
- tab_list = "1,6,10,14,49";
- /* COBOL compact format */
- break;
- case '3':
- tab_list = "1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67";
- /* COBOL compact format extended */
- break;
- default:
- usage();
- }
- break;
- case 'd': /* ncurses extension */
- debug = TRUE;
- break;
- case 'f':
- tab_list = "1,7,11,15,19,23";
- /* FORTRAN */
- break;
- case 'n': /* ncurses extension */
- no_op = TRUE;
- break;
- case 'p':
- tab_list = "1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61";
- /* PL/I */
- break;
- case 's':
- tab_list = "1,10,55";
- /* SNOBOL */
- break;
- case 'u':
- tab_list = "1,12,20,44";
- /* UNIVAC 1100 Assembler */
- break;
- case 'T':
- ++n;
- if (*++option != '\0') {
- term_name = option;
- } else {
- term_name = argv[n++];
- }
- option += ((int) strlen(option)) - 1;
- continue;
- default:
- if (isdigit(UChar(*option))) {
- tab_list = option;
- ++n;
- } else {
- usage();
- }
- option += ((int) strlen(option)) - 1;
- break;
- }
- }
- break;
- case '+':
- while ((ch = *++option) != '\0') {
- switch (ch) {
- case 'm':
- mar_list = option;
- break;
- default:
- /* special case of relative stops separated by spaces? */
- if (option == argv[n] + 1) {
- tab_list = add_to_tab_list(&append, argv[n]);
- }
- break;
- }
- }
- break;
- default:
- if (append != 0) {
- if (tab_list != (const char *) append) {
- /* one of the predefined options was used */
- free(append);
- append = 0;
- }
- }
- tab_list = add_to_tab_list(&append, option);
- break;
- }
- }
-
- setupterm(term_name, STDOUT_FILENO, (int *) 0);
-
- max_cols = (columns > 0) ? columns : 80;
-
- if (!VALID_STRING(clear_all_tabs)) {
- fprintf(stderr,
- "%s: terminal type '%s' cannot reset tabs\n",
- argv[0], term_name);
- } else if (!VALID_STRING(set_tab)) {
- fprintf(stderr,
- "%s: terminal type '%s' cannot set tabs\n",
- argv[0], term_name);
- } else if (legal_tab_list(argv[0], tab_list)) {
- int *list = decode_tabs(tab_list);
-
- if (!no_op)
- tputs(clear_all_tabs, 1, putch);
-
- if (list != 0) {
- if (!no_op)
- do_tabs(list);
- if (debug) {
- fflush(stderr);
- printf("tabs %s\n", tab_list);
- print_ruler(list);
- write_tabs(list);
- }
- free(list);
- } else if (debug) {
- fflush(stderr);
- printf("tabs %s\n", tab_list);
- }
- rc = EXIT_SUCCESS;
- }
- if (append != 0)
- free(append);
- ExitProgram(rc);
-}
diff --git a/progs/tic.c b/progs/tic.c
index 8e89095fc676..82bc3ea0d789 100644
--- a/progs/tic.c
+++ b/progs/tic.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -44,7 +44,7 @@
#include <dump_entry.h>
#include <transform.h>
-MODULE_ID("$Id: tic.c,v 1.147 2011/02/12 18:39:08 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.137 2008/09/13 16:59:24 tom Exp $")
const char *_nc_progname = "tic";
@@ -342,15 +342,8 @@ stripped(char *src)
while (isspace(UChar(*src)))
src++;
if (*src != '\0') {
- char *dst;
- size_t len;
-
- if ((dst = strdup(src)) == NULL)
- failed("strdup");
-
- assert(dst != 0);
-
- len = strlen(dst);
+ char *dst = strcpy((char *) malloc(strlen(src) + 1), src);
+ size_t len = strlen(dst);
while (--len != 0 && isspace(UChar(dst[len])))
dst[len] = '\0';
return dst;
@@ -502,11 +495,11 @@ main(int argc, char *argv[])
_nc_progname = _nc_rootname(argv[0]);
- if ((infodump = same_program(_nc_progname, PROG_CAPTOINFO)) != FALSE) {
+ if ((infodump = (strcmp(_nc_progname, PROG_CAPTOINFO) == 0)) != FALSE) {
outform = F_TERMINFO;
sortmode = S_TERMINFO;
}
- if ((capdump = same_program(_nc_progname, PROG_INFOTOCAP)) != FALSE) {
+ if ((capdump = (strcmp(_nc_progname, PROG_INFOTOCAP) == 0)) != FALSE) {
outform = F_TERMCAP;
sortmode = S_TERMCAP;
}
@@ -764,7 +757,6 @@ main(int argc, char *argv[])
put_translate(fgetc(tmp_fp));
}
- repair_acsc(&qp->tterm);
dump_entry(&qp->tterm, suppress_untranslatable,
limited, numbers, NULL);
for (j = 0; j < (int) qp->nuses; j++)
@@ -931,156 +923,6 @@ keypad_index(const char *string)
return result;
}
-/*
- * list[] is down, up, left, right
- * "left" may be ^H rather than \E[D
- * "down" may be ^J rather than \E[B
- * But up/right are generally consistently escape sequences for ANSI terminals.
- */
-static void
-check_ansi_cursor(char *list[4])
-{
- int j, k;
- int want;
- size_t prefix = 0;
- size_t suffix;
- bool skip[4];
- bool repeated = FALSE;
-
- for (j = 0; j < 4; ++j) {
- skip[j] = FALSE;
- for (k = 0; k < j; ++k) {
- if (j != k
- && !strcmp(list[j], list[k])) {
- char *value = _nc_tic_expand(list[k], TRUE, 0);
- _nc_warning("repeated cursor control %s\n", value);
- repeated = TRUE;
- }
- }
- }
- if (!repeated) {
- char *up = list[1];
-
- if (UChar(up[0]) == '\033') {
- if (up[1] == '[') {
- prefix = 2;
- } else {
- prefix = 1;
- }
- } else if (UChar(up[0]) == UChar('\233')) {
- prefix = 1;
- }
- if (prefix) {
- suffix = prefix;
- while (up[suffix] && isdigit(UChar(up[suffix])))
- ++suffix;
- }
- if (prefix && up[suffix] == 'A') {
- skip[1] = TRUE;
- if (!strcmp(list[0], "\n"))
- skip[0] = TRUE;
- if (!strcmp(list[2], "\b"))
- skip[2] = TRUE;
-
- for (j = 0; j < 4; ++j) {
- if (skip[j] || strlen(list[j]) == 1)
- continue;
- if (memcmp(list[j], up, prefix)) {
- char *value = _nc_tic_expand(list[j], TRUE, 0);
- _nc_warning("inconsistent prefix for %s\n", value);
- continue;
- }
- if (strlen(list[j]) < suffix) {
- char *value = _nc_tic_expand(list[j], TRUE, 0);
- _nc_warning("inconsistent length for %s, expected %d\n",
- value, (int) suffix + 1);
- continue;
- }
- want = "BADC"[j];
- if (list[j][suffix] != want) {
- char *value = _nc_tic_expand(list[j], TRUE, 0);
- _nc_warning("inconsistent suffix for %s, expected %c, have %c\n",
- value, want, list[j][suffix]);
- }
- }
- }
- }
-}
-
-#define EXPECTED(name) if (!PRESENT(name)) _nc_warning("expected " #name)
-
-static void
-check_cursor(TERMTYPE *tp)
-{
- int count;
- char *list[4];
-
- /* if we have a parameterized form, then the non-parameterized is easy */
- ANDMISSING(parm_down_cursor, cursor_down);
- ANDMISSING(parm_up_cursor, cursor_up);
- ANDMISSING(parm_left_cursor, cursor_left);
- ANDMISSING(parm_right_cursor, cursor_right);
-
- /* Given any of a set of cursor movement, the whole set should be present.
- * Technically this is not true (we could use cursor_address to fill in
- * unsupported controls), but it is likely.
- */
- count = 0;
- if (PRESENT(parm_down_cursor)) {
- list[count++] = parm_down_cursor;
- }
- if (PRESENT(parm_up_cursor)) {
- list[count++] = parm_up_cursor;
- }
- if (PRESENT(parm_left_cursor)) {
- list[count++] = parm_left_cursor;
- }
- if (PRESENT(parm_right_cursor)) {
- list[count++] = parm_right_cursor;
- }
- if (count == 4) {
- check_ansi_cursor(list);
- } else if (count != 0) {
- EXPECTED(parm_down_cursor);
- EXPECTED(parm_up_cursor);
- EXPECTED(parm_left_cursor);
- EXPECTED(parm_right_cursor);
- }
-
- count = 0;
- if (PRESENT(cursor_down)) {
- list[count++] = cursor_down;
- }
- if (PRESENT(cursor_up)) {
- list[count++] = cursor_up;
- }
- if (PRESENT(cursor_left)) {
- list[count++] = cursor_left;
- }
- if (PRESENT(cursor_right)) {
- list[count++] = cursor_right;
- }
- if (count == 4) {
- check_ansi_cursor(list);
- } else if (count != 0) {
- count = 0;
- if (PRESENT(cursor_down) && strcmp(cursor_down, "\n"))
- ++count;
- if (PRESENT(cursor_left) && strcmp(cursor_left, "\b"))
- ++count;
- if (PRESENT(cursor_up) && strlen(cursor_up) > 1)
- ++count;
- if (PRESENT(cursor_right) && strlen(cursor_right) > 1)
- ++count;
- if (count) {
- EXPECTED(cursor_down);
- EXPECTED(cursor_up);
- EXPECTED(cursor_left);
- EXPECTED(cursor_right);
- }
- }
-}
-
#define MAX_KP 5
/*
* Do a quick sanity-check for vt100-style keypads to see if the 5-key keypad
@@ -1190,32 +1032,6 @@ check_keypad(TERMTYPE *tp)
}
}
-static void
-check_printer(TERMTYPE *tp)
-{
- PAIRED(enter_doublewide_mode, exit_doublewide_mode);
- PAIRED(enter_italics_mode, exit_italics_mode);
- PAIRED(enter_leftward_mode, exit_leftward_mode);
- PAIRED(enter_micro_mode, exit_micro_mode);
- PAIRED(enter_shadow_mode, exit_shadow_mode);
- PAIRED(enter_subscript_mode, exit_subscript_mode);
- PAIRED(enter_superscript_mode, exit_superscript_mode);
- PAIRED(enter_upward_mode, exit_upward_mode);
-
- ANDMISSING(start_char_set_def, stop_char_set_def);
-
- /* if we have a parameterized form, then the non-parameterized is easy */
- ANDMISSING(set_bottom_margin_parm, set_bottom_margin);
- ANDMISSING(set_left_margin_parm, set_left_margin);
- ANDMISSING(set_right_margin_parm, set_right_margin);
- ANDMISSING(set_top_margin_parm, set_top_margin);
-
- ANDMISSING(parm_down_micro, micro_down);
- ANDMISSING(parm_left_micro, micro_left);
- ANDMISSING(parm_right_micro, micro_right);
- ANDMISSING(parm_up_micro, micro_up);
-}
-
/*
* Returns the expected number of parameters for the given capability.
*/
@@ -1452,8 +1268,6 @@ similar_sgr(int num, char *a, char *b)
} else if (delaying) {
a = skip_delay(a);
b = skip_delay(b);
- } else if ((*b == '0' || (*b == ';')) && *a == 'm') {
- b++;
} else {
a++;
}
@@ -1529,7 +1343,7 @@ show_where(unsigned level)
if (_nc_tracing >= DEBUG_LEVEL(level)) {
char my_name[256];
_nc_get_type(my_name);
- _tracef("\"%s\", line %d, '%s'",
+ fprintf(stderr, "\"%s\", line %d, '%s' ",
_nc_get_source(),
_nc_curr_line, my_name);
}
@@ -1597,9 +1411,7 @@ check_termtype(TERMTYPE *tp, bool literal)
check_acs(tp);
check_colors(tp);
- check_cursor(tp);
check_keypad(tp);
- check_printer(tp);
/*
* These may be mismatched because the terminal description relies on
@@ -1620,11 +1432,6 @@ check_termtype(TERMTYPE *tp, bool literal)
ANDMISSING(change_scroll_region, save_cursor);
ANDMISSING(change_scroll_region, restore_cursor);
- /*
- * If we can clear tabs, we should be able to initialize them.
- */
- ANDMISSING(clear_all_tabs, set_tab);
-
if (PRESENT(set_attributes)) {
char *zero = 0;
diff --git a/progs/toe.c b/progs/toe.c
index 6f45992f7124..8af6f371b77b 100644
--- a/progs/toe.c
+++ b/progs/toe.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -44,7 +44,7 @@
#include <hashed_db.h>
#endif
-MODULE_ID("$Id: toe.c,v 1.52 2010/05/01 22:04:08 tom Exp $")
+MODULE_ID("$Id: toe.c,v 1.51 2008/08/16 21:53:25 tom Exp $")
#define isDotname(name) (!strcmp(name, ".") || !strcmp(name, ".."))
@@ -61,13 +61,6 @@ ExitProgram(int code)
}
#endif
-static void
-failed(const char *msg)
-{
- perror(msg);
- ExitProgram(EXIT_FAILURE);
-}
-
#if USE_HASHED_DB
static bool
make_db_name(char *dst, const char *src, unsigned limit)
@@ -191,10 +184,10 @@ typelist(int eargc, char *eargv[],
DIRENT *entry;
cwd_buf = typeRealloc(char, cwd_len, cwd_buf);
- if (cwd_buf == 0)
- failed("realloc cwd_buf");
-
- assert(cwd_buf != 0);
+ if (cwd_buf == 0) {
+ perror("realloc cwd_buf");
+ continue;
+ }
strncpy(name_1, subdir->d_name, len)[len] = '\0';
if (isDotname(name_1))
@@ -487,10 +480,6 @@ main(int argc, char *argv[])
}
if (!pass) {
eargv = typeCalloc(char *, count + 1);
- if (eargv == 0)
- failed("realloc eargv");
-
- assert(eargv != 0);
} else {
code = typelist((int) count, eargv, header, deschook);
while (count-- > 0)
diff --git a/progs/tput.c b/progs/tput.c
index 2e67cfecbef4..022d4940c2a1 100644
--- a/progs/tput.c
+++ b/progs/tput.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -47,7 +47,7 @@
#endif
#include <transform.h>
-MODULE_ID("$Id: tput.c,v 1.46 2010/01/09 16:53:24 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.42 2008/07/13 11:05:12 tom Exp $")
#define PUTS(s) fputs(s, stdout)
#define PUTCHAR(c) putchar(c)
@@ -86,8 +86,8 @@ usage(void)
static void
check_aliases(const char *name)
{
- is_init = same_program(name, PROG_INIT);
- is_reset = same_program(name, PROG_RESET);
+ is_init = (strcmp(name, PROG_INIT) == 0);
+ is_reset = (strcmp(name, PROG_RESET) == 0);
}
/*
@@ -153,9 +153,6 @@ tput(int argc, char *argv[])
int i, j, c;
int status;
FILE *f;
-#if !PURE_TERMINFO
- bool termcap = FALSE;
-#endif
if ((name = argv[0]) == 0)
name = "";
@@ -268,40 +265,35 @@ tput(int argc, char *argv[])
return 0;
}
#if !PURE_TERMINFO
- retry:
+ {
+ const struct name_table_entry *np;
+
+ if ((np = _nc_find_entry(name, _nc_get_hash_table(1))) != 0)
+ switch (np->nte_type) {
+ case BOOLEAN:
+ if (bool_from_termcap[np->nte_index])
+ name = boolnames[np->nte_index];
+ break;
+
+ case NUMBER:
+ if (num_from_termcap[np->nte_index])
+ name = numnames[np->nte_index];
+ break;
+
+ case STRING:
+ if (str_from_termcap[np->nte_index])
+ name = strnames[np->nte_index];
+ break;
+ }
+ }
#endif
+
if ((status = tigetflag(name)) != -1) {
return exit_code(BOOLEAN, status);
} else if ((status = tigetnum(name)) != CANCELLED_NUMERIC) {
(void) printf("%d\n", status);
return exit_code(NUMBER, 0);
} else if ((s = tigetstr(name)) == CANCELLED_STRING) {
-#if !PURE_TERMINFO
- if (!termcap) {
- const struct name_table_entry *np;
-
- termcap = TRUE;
- if ((np = _nc_find_entry(name, _nc_get_hash_table(termcap))) != 0) {
- switch (np->nte_type) {
- case BOOLEAN:
- if (bool_from_termcap[np->nte_index])
- name = boolnames[np->nte_index];
- break;
-
- case NUMBER:
- if (num_from_termcap[np->nte_index])
- name = numnames[np->nte_index];
- break;
-
- case STRING:
- if (str_from_termcap[np->nte_index])
- name = strnames[np->nte_index];
- break;
- }
- goto retry;
- }
- }
-#endif
quit(4, "unknown terminfo capability '%s'", name);
} else if (s != ABSENT_STRING) {
if (argc > 1) {
diff --git a/progs/transform.c b/progs/transform.c
deleted file mode 100644
index 75f4573357c3..000000000000
--- a/progs/transform.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2009,2010 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 *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************/
-
-/****************************************************************************
- * Author: Thomas E. Dickey *
- ****************************************************************************/
-#include <progs.priv.h>
-#include <string.h>
-
-#include <transform.h>
-
-MODULE_ID("$Id: transform.c,v 1.2 2010/09/04 21:16:17 tom Exp $")
-
-#ifdef SUFFIX_IGNORED
-static void
-trim_suffix(const char *a, unsigned *len)
-{
- const char ignore[] = SUFFIX_IGNORED;
-
- if (sizeof(ignore) != 0) {
- bool trim = FALSE;
- unsigned need = (sizeof(ignore) - 1);
-
- if (*len > need) {
- unsigned first = *len - need;
- unsigned n;
- trim = TRUE;
- for (n = first; n < *len; ++n) {
- if (tolower(UChar(a[n])) != tolower(UChar(ignore[n - first]))) {
- trim = FALSE;
- break;
- }
- }
- if (trim) {
- *len -= need;
- }
- }
- }
-}
-#else
-#define trim_suffix(a, len) /* nothing */
-#endif
-
-bool
-same_program(const char *a, const char *b)
-{
- unsigned len_a = strlen(a);
- unsigned len_b = strlen(b);
-
- trim_suffix(a, &len_a);
- trim_suffix(b, &len_b);
-
- return (len_a == len_b) && (strncmp(a, b, len_a) == 0);
-}
diff --git a/progs/tset.c b/progs/tset.c
index 084e41d6db24..6a4d2d61c3de 100644
--- a/progs/tset.c
+++ b/progs/tset.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-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 *
@@ -33,22 +33,6 @@
****************************************************************************/
/*
- * Notes:
- * The initial adaptation from 4.4BSD Lite sources in September 1995 used 686
- * lines from that version, and made changes/additions for 150 lines. There
- * was no reformatting, so with/without ignoring whitespace, the amount of
- * change is the same.
- *
- * Comparing with current (2009) source, excluding this comment:
- * a) 209 lines match identically to the 4.4BSD Lite sources, with 771 lines
- * changed/added.
- * a) Ignoring whitespace, the current version still uses 516 lines from the
- * 4.4BSD Lite sources, with 402 lines changed/added.
- *
- * Raymond's original comment on this follows...
- */
-
-/*
* tset.c - terminal initialization utility
*
* This code was mostly swiped from 4.4BSD tset, with some obsolescent
@@ -68,7 +52,11 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
@@ -119,7 +107,7 @@ char *ttyname(int fd);
#include <dump_entry.h>
#include <transform.h>
-MODULE_ID("$Id: tset.c,v 1.82 2010/05/01 21:42:46 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.76 2008/10/11 19:26:19 tom Exp $")
/*
* SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
@@ -141,9 +129,7 @@ MODULE_ID("$Id: tset.c,v 1.82 2010/05/01 21:42:46 tom Exp $")
# endif
#endif
-#ifndef environ
extern char **environ;
-#endif
#undef CTRL
#define CTRL(x) ((x) & 0x1f)
@@ -399,13 +385,9 @@ add_mapping(const char *port, char *arg)
char *base = 0;
copy = strdup(arg);
- mapp = typeMalloc(MAP, 1);
+ mapp = (MAP *) malloc(sizeof(MAP));
if (copy == 0 || mapp == 0)
failed("malloc");
-
- assert(copy != 0);
- assert(mapp != 0);
-
mapp->next = 0;
if (maplist == 0)
cur = maplist = mapp;
@@ -1265,12 +1247,12 @@ main(int argc, char **argv)
ospeed = (NCURSES_OSPEED) mode.sg_ospeed;
#endif
- if (same_program(_nc_progname, PROG_RESET)) {
+ if (!strcmp(_nc_progname, PROG_RESET)) {
isreset = TRUE;
reset_mode();
}
- (void) get_termcap_entry(*argv);
+ ttype = get_termcap_entry(*argv);
if (!noset) {
tcolumns = columns;