Update ee(1) in the base system to version 1.5.0.

This version is now licensed under a 2-clause BSD license, instead of
the Artistic license. I've reverted a lot of local modifications we made
to ee, because they have been integrated upstream as well.

Only local modifications include:

- $FreeBSD$ ID.
- Pathname to init.ee.
- catopen() call, to honor LC_MESSAGES instead of LANG.

To keep SVN happy, I'm putting an application/octet-stream mime type on
the KOI8 translations.

Reviewed by:	current@
This commit is contained in:
Ed Schouten 2009-05-27 17:27:03 +00:00
commit 96b676e999
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=192914
15 changed files with 470 additions and 464 deletions

View File

@ -1,117 +0,0 @@
The "Artistic License"
Preamble
The intent of this document is to state the conditions under which a
Package may be copied, such that the Copyright Holder maintains some
semblance of artistic control over the development of the package,
while giving the users of the package the right to use and distribute
the Package in a more-or-less customary fashion, plus the right to make
reasonable modifications.
Definitions:
"Package" refers to the collection of files distributed by the
Copyright Holder, and derivatives of that collection of files
created through textual modification.
"Standard Version" refers to such a Package if it has not been
modified, or has been modified in accordance with the wishes
of the Copyright Holder.
"Copyright Holder" is whoever is named in the copyright or
copyrights for the package.
"You" is you, if you're thinking about copying or distributing
this Package.
"Reasonable copying fee" is whatever you can justify on the
basis of media cost, duplication charges, time of people involved,
and so on. (You will not be required to justify it to the
Copyright Holder, but only to the computing community at large
as a market that must bear the fee.)
"Freely Available" means that no fee is charged for the item
itself, though there may be fees involved in handling the item.
It also means that recipients of the item may redistribute it
under the same conditions they received it.
1. You may make and give away verbatim copies of the source form of the
Standard Version of this Package without restriction, provided that you
duplicate all of the original copyright notices and associated disclaimers.
2. You may apply bug fixes, portability fixes and other modifications
derived from the Public Domain or from the Copyright Holder. A Package
modified in such a way shall still be considered the Standard Version.
3. You may otherwise modify your copy of this Package in any way, provided
that you insert a prominent notice in each changed file stating how and
when you changed that file, and provided that you do at least ONE of the
following:
a) place your modifications in the Public Domain or otherwise make them
Freely Available, such as by posting said modifications to Usenet or
an equivalent medium, or placing the modifications on a major archive
site such as uunet.uu.net, or by allowing the Copyright Holder to include
your modifications in the Standard Version of the Package.
b) use the modified Package only within your corporation or organization.
c) rename any non-standard executables so the names do not conflict
with standard executables, which must also be provided, and provide
a separate manual page for each non-standard executable that clearly
documents how it differs from the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
4. You may distribute the programs of this Package in object code or
executable form, provided that you do at least ONE of the following:
a) distribute a Standard Version of the executables and library files,
together with instructions (in the manual page or equivalent) on where
to get the Standard Version.
b) accompany the distribution with the machine-readable source of
the Package with your modifications.
c) accompany any non-standard executables with their corresponding
Standard Version executables, giving the non-standard executables
non-standard names, and clearly documenting the differences in manual
pages (or equivalent), together with instructions on where to get
the Standard Version.
d) make other distribution arrangements with the Copyright Holder.
5. You may charge a reasonable copying fee for any distribution of this
Package. You may charge any fee you choose for support of this Package.
You may not charge a fee for this Package itself. However,
you may distribute this Package in aggregate with other (possibly
commercial) programs as part of a larger (possibly commercial) software
distribution provided that you do not advertise this Package as a
product of your own.
6. The scripts and library files supplied as input to or produced as
output from the programs of this Package do not automatically fall
under the copyright of this Package, but belong to whomever generated
them, and may be sold commercially, and may be aggregated with this
Package.
7. C subroutines supplied by you and linked into this Package in order
to emulate subroutines and variables of the language defined by this
Package shall not be considered part of this Package, but are the
equivalent of input as in Paragraph 6, provided these subroutines do
not change the language in any way that would cause it to fail the
regression tests for the language.
8. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End

40
contrib/ee/Changes Normal file
View File

@ -0,0 +1,40 @@
version 1.5.0 (2/16/2009)
- added display of line number, column, and lines from top to separator line
for info window
- minor changes to reduce number of warnings when using -pedantic option
version 1.4.7 (2/10/2009)
- changed how strings are terminated from the old usage of NULL to the current
use of character zero, '\0'
- changed the licensing since the Artistic License is now considered
restrictive
version 1.4.6
- modified new_curse.c to handle different subdirectory naming in terminfo
directory; first noted on Mac OS 10.2
version 1.4.5a (12/23/2001)
- modified get_options to be cleaner for arg handling
version 1.4.5 (12/15/2001)
- made changes to check usage of arguments provided so that if a file is
specified options are no longer accepted (that is, they are treated as file
names)
- changed to use ee_version.h to allow changing version number without need
to change ee.c directly
version 1.4.4 (8/17/2001)
- added code to check if the parent process has died, and if so to exit
gracefully
version 1.4.3 (6/25/2001)
- modified create.make and new_curse.c to allow defining TERMCAP file
location (since some distributions move the file)
- source directory now has version number attached to directory name
version 1.4.2 (1/19/2001)
- change to create.make script to add unistd.h to files to search for
select() declaration
- change to new_curse.c for proper raw mode operation

View File

@ -1,26 +1,29 @@
THIS MATERIAL IS PROVIDED "AS IS". THERE ARE NO WARRANTIES OF
ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE. Neither Hewlett-Packard nor
Hugh Mahon shall be liable for errors contained herein, nor for
incidental or consequential damages in connection with the
furnishing, performance or use of this material. Neither
Hewlett-Packard nor Hugh Mahon assumes any responsibility for
the use or reliability of this software or documentation. This
software and documentation is totally UNSUPPORTED. There is no
support contract available. Hewlett-Packard has done NO
Quality Assurance on ANY of the program or documentation. You
may find the quality of the materials inferior to supported
materials.
Copyright (c) 2009, Hugh Mahon
All rights reserved.
This software may be distributed under the terms of Larry Wall's
Artistic license, a copy of which is included in this distribution.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
This notice must be included with this software and any
derivatives.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* 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.
Any modifications to this software by anyone but the original author
must be so noted.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
The editor 'ee' (easy editor) is intended to be a simple, easy to use
@ -51,7 +54,7 @@ completely replaced by graphical user interfaces for at least a few more
years, I'd like to do what I can to make using computers with less
glamorous interfaces as easy to use as possible. If terminal interfaces
are still used in ten years, I hope neophytes won't still be stuck with
only vi.
only vi.
For a text editor to be easy to use requires a certain set of abilities. In
order for ee to work, a terminal must have the ability to position the cursor
@ -110,7 +113,7 @@ are:
people.
Hugh Mahon |___|
h_mahon@fc.hp.com | |
hugh4242@yahoo.com | |
|\ /|
| \/ |

View File

@ -4,14 +4,27 @@
# This script will determine if the system is a System V or BSD based
# UNIX system and create a makefile for ee appropriate for the system.
#
# $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.7 2001/01/20 04:57:17 hugh Exp hugh $
# $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.13 2002/09/23 04:18:13 hugh Exp $
#
#set -x
name_string="`uname`"
# test for existence of termcap (exists on both BSD and SysV systems)
if [ -f /etc/termcap -o -f /usr/share/lib/termcap -o -f /usr/share/misc/termcap ]
then
termcap_exists="TRUE"
if [ -f /usr/share/lib/termcap ]
then
termcap_exists="-DTERMCAP=\"\\\"/usr/share/lib/termcap\\\"\""
elif [ -f /usr/share/misc/termcap ]
then
termcap_exists="-DTERMCAP=\"\\\"/usr/share/misc/termcap\\\"\""
elif [ -f /etc/termcap ]
then
termcap_exists="-DTERMCAP=\"\\\"/etc/termcap\\\"\""
fi
else
termcap_exists=""
fi
@ -212,16 +225,27 @@ else
fi
if [ -n "$CFLAGS" ]
if [ "$name_string" = "Darwin" ]
then
if [ -z "`echo $CFLAGS | grep '[-]g'`" ]
if [ -n "$CFLAGS" ]
then
other_cflags="${CFLAGS} -s"
other_cflags="${CFLAGS} -DNO_CATGETS"
else
other_cflags="${CFLAGS}"
other_cflags="-DNO_CATGETS"
fi
else
other_cflags="-s"
if [ -n "$CFLAGS" ]
then
if [ -z "`echo $CFLAGS | grep '[-]g'`" ]
then
other_cflags="${CFLAGS} -s"
else
other_cflags="${CFLAGS}"
fi
else
other_cflags="-s"
fi
fi
# time to write the makefile
@ -235,7 +259,7 @@ fi
echo "DEFINES = $termio $terminfo_exists $BSD_SELECT $catgets $select $curses " > make.local
echo "" >> make.local
echo "CFLAGS = $HAS_UNISTD $HAS_STDARG $HAS_STDLIB $HAS_CTYPE $HAS_SYS_IOCTL $HAS_SYS_WAIT $five_lib $five_include $select_hdr $other_cflags" >> make.local
echo "CFLAGS = $HAS_UNISTD $HAS_STDARG $HAS_STDLIB $HAS_CTYPE $HAS_SYS_IOCTL $HAS_SYS_WAIT $five_lib $five_include $select_hdr $other_cflags $termcap_exists" >> make.local
echo "" >> make.local
echo "" >> make.local
echo "all : $TARGET" >> make.local

View File

@ -4,7 +4,7 @@
.\"
.\" nroff -man ee.1
.\"
.\" $Header: /home/hugh/sources/old_ae/RCS/ee.1,v 1.19 1995/11/29 04:03:15 hugh Exp hugh $
.\" $Header: /home/hugh/sources/old_ae/RCS/ee.1,v 1.22 2001/12/16 04:49:27 hugh Exp $
.\"
.\"
.TH ee 1 "" "" "" ""
@ -29,6 +29,10 @@ is the same as
but restricted to editing the named
file (no file operations, or shell escapes are allowed).
.PP
An editor with similar user-friendly qualities but more features is available
and is called
.I aee.
.PP
For
.I ee
to work properly, the environment variable
@ -402,7 +406,7 @@ cursor location. The old information would have to be deleted by the user.
.PP
Since different users have different preferences, \fIee\fR allows some
slight configurability. There are three possible locations for an
initialization file for ee: the file \fI/usr/local/lib/init.ee\fR, the
initialization file for ee: the file \fI/usr/share/misc/init.ee\fR, the
file \fI.init.ee\fR in the user's home directory, or the file \fI.init.ee\fR
in the current directory (if different from the home
directory). This allows system administrators to set some preferences for
@ -410,7 +414,7 @@ the users on a system-wide basis (for example, the \fBprint\fR command),
and the user to customize settings for particular directories (like one
for correspondence, and a different directory for programming).
.PP
The file \fI\/usr/local/lib/init.ee\fR is read first, then
The file \fI\/usr/share/misc/init.ee\fR is read first, then
\fI$HOME/.init.ee\fR, then \fI.init.ee\fR, with the settings specified by the
most recent file read taking precedence.
.PP
@ -517,7 +521,7 @@ The automatic paragraph formatting operation
may be too slow for slower systems.
.SH FILES
.PP
.I /usr/local/lib/init.ee
.I /usr/share/misc/init.ee
.br
.I $HOME/.init.ee
.br
@ -532,8 +536,8 @@ This software and documentation contains
proprietary information which is protected by
copyright. All rights are reserved.
.PP
Copyright (c) 1990, 1991, 1992, 1993, 1995, 1996 Hugh Mahon.
Copyright (c) 1990, 1991, 1992, 1993, 1995, 1996, 2001 Hugh Mahon.
.SH "SEE ALSO"
.PP
termcap(4), terminfo(4), environ(5), spell(1), ispell(1), lp(1)
termcap(4), terminfo(4), environ(5), spell(1), ispell(1), lp(1), aee(1)

File diff suppressed because it is too large Load Diff

View File

@ -52,7 +52,7 @@ $quote "
41 "^f undelete char ^n next page ^x search "
42 "^g begin of line ^o end of line ^y delete line "
43 "^h backspace ^p prev page ^z undelete line "
44 "^[ (escape) menu ESC-Enter: exit ee "
44 "^[ (escape) menu "
45 " "
46 "Commands: "
47 "help : get this info file : print file name "
@ -69,7 +69,7 @@ $quote "
58 "^a ascii code ^x search ^z undelete line ^d down ^n next page "
59 "^b bottom of text ^g begin of line ^w delete word ^l left "
60 "^t top of text ^o end of line ^v undelete word ^r right "
61 "^c command ^k delete char ^f undelete char ESC-Enter: exit ee "
61 "^c command ^k delete char ^f undelete char "
62 "help : get help info |file : print file name |line : print line # "
63 "read : read a file |char : ascii code of char |0-9 : go to line \"#\""
64 "write: write a file |case : case sensitive search |exit : leave and save "
@ -111,7 +111,7 @@ $quote "
100 " ...searching"
101 "string \"%s\" not found"
102 "search for: "
103 "could not exec %s"
103 "could not exec %s\n"
104 "press return to continue "
105 "press Esc to cancel"
106 "menu too large for window"
@ -155,8 +155,8 @@ $quote "
144 "NOEIGHTBIT"
145 "emacs key bindings "
146 "^a beginning of line ^i tab ^r restore word "
147 "^b back 1 char ^j undel char ^t begin of file "
148 "^c command ^k delete line ^u end of file "
147 "^b back 1 char ^j undel char ^t top of text "
148 "^c command ^k delete line ^u bottom of text "
149 "^d delete char ^l undelete line ^v next page "
150 "^e end of line ^m newline ^w delete word "
151 "^f forward 1 char ^n next line ^x search "
@ -165,7 +165,7 @@ $quote "
154 "^[ (escape) menu ^y search prompt ^k delete line ^p prev li ^g prev page"
155 "^o ascii code ^x search ^l undelete line ^n next li ^v next page"
156 "^u end of file ^a begin of line ^w delete word ^b back 1 char "
157 "^t begin of file ^e end of line ^r restore word ^f forward 1 char "
157 "^t top of text ^e end of line ^r restore word ^f forward 1 char "
158 "^c command ^d delete char ^j undelete char ^z next word "
159 "EMACS"
160 "NOEMACS"

6
contrib/ee/ee_version.h Normal file
View File

@ -0,0 +1,6 @@
/*
| provide a version number for ee
*/
#define EE_VERSION "1.5.0"
#define DATE_STRING "$Date: 2009/02/17 03:32:30 $"

View File

@ -5,46 +5,44 @@
|
| written by Hugh Mahon
|
| THIS MATERIAL IS PROVIDED "AS IS". THERE ARE
| NO WARRANTIES OF ANY KIND WITH REGARD TO THIS
| MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE
| IMPLIED WARRANTIES OF MERCHANTABILITY AND
| FITNESS FOR A PARTICULAR PURPOSE. Neither
| Hewlett-Packard nor Hugh Mahon shall be liable
| for errors contained herein, nor for
| incidental or consequential damages in
| connection with the furnishing, performance or
| use of this material. Neither Hewlett-Packard
| nor Hugh Mahon assumes any responsibility for
| the use or reliability of this software or
| documentation. This software and
| documentation is totally UNSUPPORTED. There
| is no support contract available. Hewlett-
| Packard has done NO Quality Assurance on ANY
| of the program or documentation. You may find
| the quality of the materials inferior to
| supported materials.
| Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995, 2009 Hugh Mahon
| All rights reserved.
|
| Redistribution and use in source and binary forms, with or without
| modification, are permitted provided that the following conditions
| are met:
|
| * Redistributions of source code must retain the above copyright
| notice, this list of conditions and the following disclaimer.
| * 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.
|
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
| FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
| COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
| INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
| BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
| ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
| POSSIBILITY OF SUCH DAMAGE.
|
| This software is not a product of Hewlett-Packard, Co., or any
| other company. No support is implied or offered with this software.
| You've got the source, and you're on your own.
|
| This software may be distributed under the terms of Larry Wall's
| Artistic license, a copy of which is included in this distribution.
|
| This notice must be included with this software and any derivatives.
|
| Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995 Hugh Mahon
|
| All are rights reserved.
|
| $Header: /home/hugh/sources/old_ae/RCS/new_curse.c,v 1.50 2001/01/19 02:53:40 hugh Exp hugh $
| $Header: /home/hugh/sources/old_ae/RCS/new_curse.c,v 1.54 2002/09/21 00:47:14 hugh Exp $
|
*/
char *copyright_message[] = { "Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995 Hugh Mahon",
char *copyright_message[] = { "Copyright (c) 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995, 2009 Hugh Mahon",
"All rights are reserved."};
char * new_curse_name= "@(#) new_curse.c $Revision: 1.50 $";
char * new_curse_name= "@(#) new_curse.c $Revision: 1.54 $";
#include "new_curse.h"
#include <signal.h>
@ -501,6 +499,10 @@ int interrupt_flag = FALSE; /* set true if SIGWINCH received */
char *Strings;
#endif
#if !defined(TERMCAP)
#define TERMCAP "/etc/termcap"
#endif
struct KEYS {
int length; /* length of string sent by key */
char *string; /* string sent by key */
@ -658,6 +660,13 @@ int *virtual_lines;
static char nc_scrolling_ability = FALSE;
char *terminfo_path[] = {
"/usr/lib/terminfo",
"/usr/share/lib/terminfo",
"/usr/share/terminfo",
NULL
};
#ifdef CAP
#if defined(__STDC__) || defined(__cplusplus)
@ -767,6 +776,7 @@ void
initscr() /* initialize terminal for operations */
{
int value;
int counter;
char *lines_string;
char *columns_string;
#ifdef CAP
@ -899,30 +909,26 @@ printf("starting initscr \n");fflush(stdout);
Term_File_name = malloc(Data_Line_len);
sprintf(Term_File_name, "%s/%c/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
if (Fildes == -1)
{
sprintf(Term_File_name, "%s/%x/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
}
}
if (Fildes == -1)
counter = 0;
while ((Fildes == -1) && (terminfo_path[counter] != NULL))
{
TERM_PATH = "/usr/lib/terminfo";
Data_Line_len = 23 + strlen(TERM_PATH) + strlen(TERMINAL_TYPE);
Term_File_name = malloc(Data_Line_len);
sprintf(Term_File_name, "%s/%c/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
}
if (Fildes == -1)
{
TERM_PATH = "/usr/share/lib/terminfo";
Data_Line_len = 23 + strlen(TERM_PATH) + strlen(TERMINAL_TYPE);
Term_File_name = malloc(Data_Line_len);
sprintf(Term_File_name, "%s/%c/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
}
if (Fildes == -1)
{
TERM_PATH = "/usr/share/terminfo";
TERM_PATH = terminfo_path[counter];
Data_Line_len = 23 + strlen(TERM_PATH) + strlen(TERMINAL_TYPE);
Term_File_name = malloc(Data_Line_len);
sprintf(Term_File_name, "%s/%c/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
if (Fildes == -1)
{
sprintf(Term_File_name, "%s/%x/%s", TERM_PATH, *TERMINAL_TYPE, TERMINAL_TYPE);
Fildes = open(Term_File_name, O_RDONLY);
}
counter++;
}
if (Fildes == -1)
{
@ -939,15 +945,15 @@ printf("starting initscr \n");fflush(stdout);
if ((pointer = Term_File_name = getenv("TERMCAP")) != NULL)
{
if (*Term_File_name != '/')
Term_File_name = "/etc/termcap";
Term_File_name = TERMCAP;
}
else
{
Term_File_name = "/etc/termcap";
Term_File_name = TERMCAP;
}
if ((TFP = fopen(Term_File_name, "r")) == NULL)
{
printf("unable to open /etc/termcap file \n");
printf("unable to open %s file \n", TERMCAP);
exit(0);
}
for (value = 0; value < 1024; value++)
@ -1105,7 +1111,7 @@ INFO_PARSE() /* parse off the data in the terminfo data file */
Num_bools--;
Booleans[counter++] = *TERM_data_ptr++;
}
if (((unsigned int) TERM_data_ptr) & 1) /* force alignment */
if ((unsigned long)TERM_data_ptr & 1) /* force alignment */
TERM_data_ptr++;
counter = 0;
while (Num_ints)
@ -1360,7 +1366,7 @@ Find_term() /* find terminal description in termcap file */
char *Name;
char *Ftemp;
Ftemp = Name = malloc(strlen(TERMINAL_TYPE + 1) + 1);
Ftemp = Name = malloc(strlen(TERMINAL_TYPE) + 2);
strcpy(Name, TERMINAL_TYPE);
while (*Ftemp != (char)NULL)
Ftemp++;
@ -1468,13 +1474,13 @@ int columns;
for (i = 0; i < columns; i++)
{
tmp->row[i] = ' ';
tmp->attributes[i] = (char) NULL;
tmp->attributes[i] = '\0';
}
tmp->scroll = tmp->changed = FALSE;
tmp->row[0] = (char) NULL;
tmp->attributes[0] = (char) NULL;
tmp->row[columns] = (char) NULL;
tmp->attributes[columns] = (char) NULL;
tmp->row[0] = '\0';
tmp->attributes[0] = '\0';
tmp->row[columns] = '\0';
tmp->attributes[columns] = '\0';
tmp->last_char = 0;
return(tmp);
}
@ -1859,7 +1865,7 @@ int place;
}
delay = 0;
Otemp = string;
while (*Otemp != (char) NULL)
while (*Otemp != '\0')
{
if (*Otemp == '%')
{
@ -1877,7 +1883,7 @@ int place;
| find the end of the
| conditional statement
*/
while ((strncmp(Otemp, "%t", 2)) && (*Otemp != (char) NULL))
while ((strncmp(Otemp, "%t", 2)) && (*Otemp != '\0'))
{
/*
| move past '%'
@ -1905,12 +1911,12 @@ int place;
| find 'else' or end
| of if statement
*/
while ((strncmp(Otemp, "%e", 2)) && (strncmp(Otemp, "%;", 2)) && (*Otemp != (char) NULL))
while ((strncmp(Otemp, "%e", 2)) && (strncmp(Otemp, "%;", 2)) && (*Otemp != '\0'))
Otemp++;
/*
| if an 'else' found
*/
if ((*Otemp != (char) NULL) && (!strncmp(Otemp, "%e", 2)))
if ((*Otemp != '\0') && (!strncmp(Otemp, "%e", 2)))
{
Otemp++;
Otemp++;
@ -1918,12 +1924,12 @@ int place;
/*
| check for 'then' part
*/
while ((*tchar != (char) NULL) && (strncmp(tchar, "%t", 2)) && (strncmp(tchar, "%;", 2)))
while ((*tchar != '\0') && (strncmp(tchar, "%t", 2)) && (strncmp(tchar, "%;", 2)))
tchar++;
/*
| if end of string
*/
if (*tchar == (char) NULL)
if (*tchar == '\0')
{
EVAL = FALSE;
Cond_FLAG = FALSE;
@ -1947,7 +1953,7 @@ int place;
| get out of if
| statement
*/
else if ((*Otemp != (char) NULL) && (!strncmp(Otemp, "%;", 2)))
else if ((*Otemp != '\0') && (!strncmp(Otemp, "%;", 2)))
{
EVAL = FALSE;
Otemp++;
@ -1967,9 +1973,9 @@ int place;
Cond_FLAG = FALSE;
if (*Otemp != ';')
{
while ((*Otemp != (char) NULL) && (strncmp(Otemp, "%;", 2)))
while ((*Otemp != '\0') && (strncmp(Otemp, "%;", 2)))
Otemp++;
if (*Otemp != (char) NULL)
if (*Otemp != '\0')
{
Otemp++;
Otemp++;
@ -2038,12 +2044,12 @@ int cols;
for (j = line->last_char; j < column; j++)
{
line->row[j] = ' ';
line->attributes[j] = (char) NULL;
line->attributes[j] = '\0';
}
}
line->last_char = column;
line->row[column] = (char) NULL;
line->attributes[column] = (char) NULL;
line->row[column] = '\0';
line->attributes[column] = '\0';
line->changed = TRUE;
}
@ -2175,14 +2181,14 @@ WINDOW *window;
virt_col++, user_col++)
{
virtual_line->row[virt_col] = ' ';
virtual_line->attributes[virt_col] = (char) NULL;
virtual_line->attributes[virt_col] = '\0';
}
}
if (virtual_scr->Num_cols != window->Num_cols)
{
if (virtual_line->last_char < (user_line->last_char + window->SC))
{
if (virtual_line->row[virtual_line->last_char] == (char) NULL)
if (virtual_line->row[virtual_line->last_char] == '\0')
virtual_line->row[virtual_line->last_char] = ' ';
virtual_line->last_char =
min(virtual_scr->Num_cols,
@ -2191,7 +2197,7 @@ WINDOW *window;
}
else
virtual_line->last_char = user_line->last_char;
virtual_line->row[virtual_line->last_char] = (char) NULL;
virtual_line->row[virtual_line->last_char] = '\0';
virtual_line->changed = user_line->changed;
virtual_line = virtual_line->next_screen;
user_line = user_line->next_screen;
@ -2336,7 +2342,7 @@ int first_char; /* first character of sequence */
Count = 0;
Gtemp = string;
string[Count++] = first_char;
string[Count] = (char) NULL;
string[Count] = '\0';
Time_Out = FALSE;
#ifndef BSD_SELECT
signal(SIGALRM, Clear);
@ -2360,7 +2366,7 @@ fflush(stderr);
if (in_char != -1)
{
string[Count++] = in_char;
string[Count] = (char) NULL;
string[Count] = '\0';
St_point = KEY_TOS;
while ((St_point != NULL) && (!Found))
{
@ -2446,10 +2452,10 @@ int c;
for (j = tmpline->last_char; j < column; j++)
{
tmpline->row[j] = ' ';
tmpline->attributes[j] = (char) NULL;
tmpline->attributes[j] = '\0';
}
tmpline->row[column + 1] = (char) NULL;
tmpline->attributes[column + 1] = (char) NULL;
tmpline->row[column + 1] = '\0';
tmpline->attributes[column + 1] = '\0';
tmpline->last_char = column + 1;
}
}
@ -2627,7 +2633,7 @@ char *string;
{
char *wstring;
for (wstring = string; *wstring != (char) NULL; wstring++)
for (wstring = string; *wstring != '\0'; wstring++)
waddch(window, *wstring);
}
@ -2705,7 +2711,7 @@ noraw() /* set to normal character read mode */
Terminal.c_lflag |= ICANON; /* enable canonical operation */
Terminal.c_lflag |= ISIG; /* enable signal checking */
Terminal.c_cc[VEOF] = 4; /* EOF character = 4 */
Terminal.c_cc[VEOL] = (char) NULL; /* EOL = 0 */
Terminal.c_cc[VEOL] = '\0'; /* EOL = 0 */
Terminal.c_cc[VINTR] = Intr; /* reset interrupt char */
value = ioctl(0, TCSETA, &Terminal); /* set characteristics */
#else
@ -2873,7 +2879,7 @@ wprintw(WINDOW *window, const char *format, ...)
#endif /* __STDC__ */
fpoint = (char *) format;
while (*fpoint != (char) NULL)
while (*fpoint != '\0')
{
if (*fpoint == '%')
{
@ -2950,12 +2956,12 @@ struct _line *line2;
att1 = line1->attributes;
att2 = line2->attributes;
i = 0;
while ((c1[i] != (char) NULL) && (c2[i] != (char) NULL) && (c1[i] == c2[i]) && (att1[i] == att2[i]))
while ((c1[i] != '\0') && (c2[i] != '\0') && (c1[i] == c2[i]) && (att1[i] == att2[i]))
i++;
count1 = i + 1;
if ((count1 == 1) && (c1[i] == (char) NULL) && (c2[i] == (char) NULL))
if ((count1 == 1) && (c1[i] == '\0') && (c2[i] == '\0'))
count1 = 0; /* both lines blank */
else if ((c1[i] == (char) NULL) && (c2[i] == (char) NULL))
else if ((c1[i] == '\0') && (c2[i] == '\0'))
count1 = -1; /* equal */
else
count1 = 1; /* lines unequal */
@ -3108,9 +3114,9 @@ int row, column;
for (x = column; x<window->Num_cols; x++)
{
tmp1->row[x] = ' ';
tmp1->attributes[x] = (char) NULL;
tmp1->attributes[x] = '\0';
}
tmp1->row[column] = (char) NULL;
tmp1->row[column] = '\0';
tmp1->last_char = column;
if (column < COLS)
{
@ -3152,16 +3158,16 @@ struct _line *pointer_new, *pointer_old;
old_lin = pointer_old->row;
old_att = pointer_old->attributes;
end_old = end_new = offset;
while (((new_lin[end_new] != old_lin[end_old]) || (new_att[end_new] != old_att[end_old])) && (old_lin[end_old] != (char) NULL) && (new_lin[end_old] != (char) NULL))
while (((new_lin[end_new] != old_lin[end_old]) || (new_att[end_new] != old_att[end_old])) && (old_lin[end_old] != '\0') && (new_lin[end_old] != '\0'))
end_old++;
if (old_lin[end_old] != (char) NULL)
if (old_lin[end_old] != '\0')
{
k = 0;
while ((old_lin[end_old+k] == new_lin[end_new+k]) && (new_att[end_new+k] == old_att[end_old+k]) && (new_lin[end_new+k] != (char) NULL) && (old_lin[end_old+k] != (char) NULL) && (k < 10))
while ((old_lin[end_old+k] == new_lin[end_new+k]) && (new_att[end_new+k] == old_att[end_old+k]) && (new_lin[end_new+k] != '\0') && (old_lin[end_old+k] != '\0') && (k < 10))
k++;
if ((k > 8) || ((new_lin[end_new+k] == (char) NULL) && (k != 0)))
if ((k > 8) || ((new_lin[end_new+k] == '\0') && (k != 0)))
{
if (new_lin[end_new+k] == (char) NULL)
if (new_lin[end_new+k] == '\0')
{
Position(window, line, (end_new+k));
CLEAR_TO_EOL(window, line, (end_new+k));
@ -3169,7 +3175,7 @@ struct _line *pointer_new, *pointer_old;
Position(window, line, offset);
for (k = offset; k < end_old; k++)
Char_del(old_lin, old_att, offset, window->Num_cols);
while ((old_lin[offset] != (char) NULL) && (offset < COLS))
while ((old_lin[offset] != '\0') && (offset < COLS))
offset++;
pointer_old->last_char = offset;
changed = TRUE;
@ -3206,12 +3212,12 @@ struct _line *pointer_new, *pointer_old;
old_lin = pointer_old->row;
old_att = pointer_old->attributes;
end_old = end_new = offset;
while (((new_lin[end_new] != old_lin[end_old]) || (new_att[end_new] != old_att[end_old])) && (new_lin[end_new] != (char) NULL) && (old_lin[end_new] != (char) NULL))
while (((new_lin[end_new] != old_lin[end_old]) || (new_att[end_new] != old_att[end_old])) && (new_lin[end_new] != '\0') && (old_lin[end_new] != '\0'))
end_new++;
if (new_lin[end_new] != (char) NULL)
if (new_lin[end_new] != '\0')
{
k = 0;
while ((old_lin[end_old+k] == new_lin[end_new+k]) && (old_att[end_old+k] == new_att[end_new+k]) && (new_lin[end_new+k] != (char) NULL) && (old_lin[end_old+k] != (char) NULL) && (k < 10))
while ((old_lin[end_old+k] == new_lin[end_new+k]) && (old_att[end_old+k] == new_att[end_new+k]) && (new_lin[end_new+k] != '\0') && (old_lin[end_old+k] != '\0') && (k < 10))
k++;
/*
| check for commonality between rest of lines (are the old
@ -3219,11 +3225,11 @@ struct _line *pointer_new, *pointer_old;
| if the rest of the lines are common, do not insert text
*/
old_off = end_new;
while ((old_lin[old_off] != (char) NULL) && (new_lin[old_off] != (char) NULL) && (old_lin[old_off] == new_lin[old_off]) && (old_att[old_off] == new_att[old_off]))
while ((old_lin[old_off] != '\0') && (new_lin[old_off] != '\0') && (old_lin[old_off] == new_lin[old_off]) && (old_att[old_off] == new_att[old_off]))
old_off++;
if ((old_lin[old_off] == new_lin[old_off]) && (old_att[old_off] == new_att[old_off]))
same = TRUE;
if ((!same) && ((k > 8) || ((new_lin[end_new+k] == (char) NULL) && (k != 0))))
if ((!same) && ((k > 8) || ((new_lin[end_new+k] == '\0') && (k != 0))))
{
Position(window, line, offset);
insert = FALSE;
@ -3240,7 +3246,7 @@ struct _line *pointer_new, *pointer_old;
}
if (insert)
String_Out(String_table[ei__], NULL, 0);
while ((old_lin[offset] != (char) NULL) && (offset < COLS))
while ((old_lin[offset] != '\0') && (offset < COLS))
offset++;
pointer_old->last_char = offset;
changed = TRUE;
@ -3311,7 +3317,7 @@ doupdate()
for (from_top = 0, curr = curscr->first_line; from_top < curscr->Num_lines; from_top++, curr = curr->next_screen)
{
Position(curscr, from_top, 0);
for (j = 0; (curr->row[j] != (char) NULL) && (j < curscr->Num_cols); j++)
for (j = 0; (curr->row[j] != '\0') && (j < curscr->Num_cols); j++)
{
Char_out(curr->row[j], curr->attributes[j], curr->row, curr->attributes, j);
}
@ -3533,7 +3539,7 @@ doupdate()
*/
if (((String_table[ic__]) || (String_table[im__])) &&
(String_table[dc__]) && (curr->row[0] != (char) NULL) &&
(String_table[dc__]) && (curr->row[0] != '\0') &&
(!NC_chinese))
{
j = 0;
@ -3542,11 +3548,11 @@ doupdate()
vrt_att = virt->attributes;
cur_lin = curr->row;
cur_att = curr->attributes;
while ((vrt_lin[j] != (char) NULL) && (j < window->Num_cols))
while ((vrt_lin[j] != '\0') && (j < window->Num_cols))
{
if ((STAND) && (Booleans[xs__]))
{
while ((vrt_lin[j] == cur_lin[j]) && (vrt_att[j] == cur_att[j]) && (vrt_lin[j] != (char) NULL) && (vrt_att[j]))
while ((vrt_lin[j] == cur_lin[j]) && (vrt_att[j] == cur_att[j]) && (vrt_lin[j] != '\0') && (vrt_att[j]))
j++;
if ((STAND) && (!vrt_att[j]))
{
@ -3558,7 +3564,7 @@ doupdate()
}
else
{
while ((vrt_lin[j] == cur_lin[j]) && (vrt_att[j] == cur_att[j]) && (vrt_lin[j] != (char) NULL))
while ((vrt_lin[j] == cur_lin[j]) && (vrt_att[j] == cur_att[j]) && (vrt_lin[j] != '\0'))
j++;
}
if ((vrt_att[j] != cur_att[j]) && (cur_att[j]) && (Booleans[xs__]))
@ -3568,7 +3574,7 @@ doupdate()
attribute_off();
attribute_off();
}
if (vrt_lin[j] != (char) NULL)
if (vrt_lin[j] != '\0')
{
begin_new = j;
begin_old = j;
@ -3586,7 +3592,7 @@ doupdate()
changed = check_insert(window, from_top, j, virt, curr);
if (((!changed) || (cur_lin[j] != vrt_lin[j]) || (cur_att[j] != vrt_att[j])) && (j < window->Num_cols))
{
if ((vrt_lin[j] == ' ') && (cur_lin[j] == (char) NULL) && (vrt_att[j] == cur_att[j]))
if ((vrt_lin[j] == ' ') && (cur_lin[j] == '\0') && (vrt_att[j] == cur_att[j]))
cur_lin[j] = ' ';
else
{
@ -3594,7 +3600,7 @@ doupdate()
Char_out(vrt_lin[j], vrt_att[j], cur_lin, cur_att, j);
}
}
if ((vrt_lin[j] != (char) NULL))
if ((vrt_lin[j] != '\0'))
j++;
}
if ((STAND) && (!vrt_att[j]))
@ -3604,7 +3610,7 @@ doupdate()
attribute_off();
}
}
if ((vrt_lin[j] == (char) NULL) && (cur_lin[j] != (char) NULL))
if ((vrt_lin[j] == '\0') && (cur_lin[j] != '\0'))
{
Position(window, from_top, j);
CLEAR_TO_EOL(window, from_top, j);
@ -3617,9 +3623,9 @@ doupdate()
att1 = curr->attributes;
c2 = virt->row;
att2 = virt->attributes;
while ((j < window->Num_cols) && (c2[j] != (char) NULL))
while ((j < window->Num_cols) && (c2[j] != '\0'))
{
while ((c1[j] == c2[j]) && (att1[j] == att2[j]) && (j < window->Num_cols) && (c2[j] != (char) NULL))
while ((c1[j] == c2[j]) && (att1[j] == att2[j]) && (j < window->Num_cols) && (c2[j] != '\0'))
j++;
/*
@ -3631,16 +3637,16 @@ doupdate()
j--;
begin_old = j;
begin_new = j;
if ((j < window->Num_cols) && (c2[j] != (char) NULL))
if ((j < window->Num_cols) && (c2[j] != '\0'))
{
Position(window, from_top, begin_old);
CLEAR_TO_EOL(window, from_top, j);
Position(window, from_top, begin_old);
for (j = begin_old; (c2[j] != (char) NULL) && (j < window->Num_cols); j++)
for (j = begin_old; (c2[j] != '\0') && (j < window->Num_cols); j++)
Char_out(c2[j], att2[j], c1, att1, j);
}
}
if ((c2[j] == (char) NULL) && (c1[j] != (char) NULL))
if ((c2[j] == '\0') && (c1[j] != '\0'))
{
Position(window, from_top, j);
CLEAR_TO_EOL(window, from_top, j);
@ -3696,7 +3702,7 @@ int maxlen;
{
int one, two;
for (one = offset, two = offset+1; (line[one] != (char) NULL) && (one < maxlen); one++, two++)
for (one = offset, two = offset+1; (line[one] != '\0') && (one < maxlen); one++, two++)
{
line[one] = line[two];
attrib[one] = attrib[two];
@ -3716,7 +3722,7 @@ int maxlen;
int one, two;
one = 0;
while ((line[one] != (char) NULL) && (one < (maxlen - 2)))
while ((line[one] != '\0') && (one < (maxlen - 2)))
one++;
for (two = one + 1; (two > offset); one--, two--)
{

View File

@ -2,8 +2,8 @@
.PATH: ${.CURDIR}/../../contrib/ee
CFLAGS+= -DCAP -DHAS_NCURSES -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB \
-DHAS_CTYPE -DHAS_SYS_IOCTL -DHAS_SYS_WAIT -DSLCT_HDR
CFLAGS+= -DHAS_NCURSES -DHAS_UNISTD -DHAS_STDARG -DHAS_STDLIB \
-DHAS_CTYPE -DHAS_SYS_WAIT
PROG= ee
LINKS= ${BINDIR}/ee ${BINDIR}/ree ${BINDIR}/ee ${BINDIR}/edit
@ -11,6 +11,8 @@ MLINKS= ee.1 ree.1 ee.1 edit.1
DPADD= ${LIBNCURSES}
LDADD= -lncurses
WARNS?= 2
NLS= en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 pl_PL.ISO8859-2 \
uk_UA.KOI8-U ru_RU.KOI8-R

View File

@ -110,7 +110,7 @@ $quote "
100 " ...Suche läuft"
101 "Zeichenfolge \"%s\" nicht gefunden"
102 "Suchen nach: "
103 "Kann %s nicht ausführen"
103 "Kann %s nicht ausführen\n"
104 "Bitte die Eingabetaste drücken "
105 "Escape zum Beenden"
106 "Menü ist zu groß für das Fenster"

View File

@ -110,7 +110,7 @@ $quote "
100 " ...recherche"
101 "chaîne \"%s\" non trouvée"
102 "rechercher : "
103 "impossible d'exécuter %s"
103 "impossible d'exécuter %s\n"
104 "tapez entrée pour continuer "
105 "pressez sur échap. pour annuler"
106 "menu trop grand pour la fenêtre"

View File

@ -110,7 +110,7 @@ $quote "
100 " ...szukam"
101 "napis \"%s\" nie został znaleziony"
102 "szukaj: "
103 "nie można wykonać %s"
103 "nie można wykonać %s\n"
104 "naciśnij Enter żeby kontynuować "
105 "naciśnij Esc żeby anulować"
106 "menu zbyt duże dla tego okna"

View File

@ -112,7 +112,7 @@ $quote "
100 " ...идёт поиск"
101 "подстрока \"%s\" не найдена"
102 "что искать: "
103 "не могу запустить %s"
103 "не могу запустить %s\n"
104 "для продолжения нажмите Enter"
105 "для отмены нажмите Esc"
106 "слишком большое меню - не помещается в экран"

View File

@ -110,7 +110,7 @@ $quote "
100 " ...пошук"
101 "рядок \"%s\" не знайдено"
102 "що шукати: "
103 "не можу виконати %s"
103 "не можу виконати %s\n"
104 "натисн╕ть <enter> для продовження..."
105 "Esc - в╕дм╕на"
106 "меню завелике для екрану"