aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-05-26 19:01:07 +0000
committerEd Schouten <ed@FreeBSD.org>2009-05-26 19:01:07 +0000
commit102e06e7f92a9f8868a91c7f1fc5dbc8298f261e (patch)
tree33181a5ef32132fd7a79eb04d67fc8759b93cb7a
parent01177cd0a85d403222881e969001aeb764929a98 (diff)
Vendor import of ee 1.4.7.vendor/ee/1.4.7
Notes
Notes: svn path=/vendor/ee/dist/; revision=192840 svn path=/vendor/ee/1.4.7/; revision=192841; tag=vendor/ee/1.4.7
-rw-r--r--Changes6
-rw-r--r--README.ee53
-rwxr-xr-xee.c224
-rw-r--r--ee_version.h2
-rw-r--r--new_curse.c182
5 files changed, 239 insertions, 228 deletions
diff --git a/Changes b/Changes
index 8e37d4db95d3..6362c8760788 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,9 @@
+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
diff --git a/README.ee b/README.ee
index 8850af245dc0..bbb932f20280 100644
--- a/README.ee
+++ b/README.ee
@@ -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.
-
- 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.
-
- Any modifications to this software by anyone but the original author
- must be so noted.
+Copyright (c) 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.
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 | |
|\ /|
| \/ |
diff --git a/ee.c b/ee.c
index f2628e1f9eae..1e35d1c6bcab 100755
--- a/ee.c
+++ b/ee.c
@@ -5,34 +5,35 @@
|
| 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.
|
- | 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.
+ | Copyright (c) 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 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.
+ | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
| This editor was purposely developed to be simple, both in
| interface and implementation. This editor was developed to
@@ -54,13 +55,7 @@
*/
char *ee_copyright_message =
-"Copyright (c) 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996 Hugh Mahon ";
-
-char *ee_long_notice[] = {
- "This software and documentation contains",
- "proprietary information which is protected by",
- "copyright. All rights are reserved."
- };
+"Copyright (c) 1986, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 2009 Hugh Mahon ";
#include "ee_version.h"
@@ -300,7 +295,7 @@ void finish P_((void));
int quit P_((int noverify));
void edit_abort P_((int arg));
void delete_text P_((void));
-int write_file P_((char *file_name));
+int write_file P_((char *file_name, int warn_if_exists));
int search P_((int display_message));
void search_prompt P_((void));
void del_char P_((void));
@@ -562,7 +557,7 @@ char *argv[];
signal(SIGINT, edit_abort);
d_char = malloc(3); /* provide a buffer for multi-byte chars */
d_word = malloc(150);
- *d_word = (char) NULL;
+ *d_word = '\0';
d_line = NULL;
dlt_line = txtalloc();
dlt_line->line = d_line;
@@ -806,7 +801,7 @@ int disp;
d_char[0] = *point;
d_char[1] = *(point + 1);
}
- d_char[del_width] = (unsigned char) NULL;
+ d_char[del_width] = '\0';
}
while (temp_pos <= curr_line->line_length)
{
@@ -834,7 +829,7 @@ int disp;
if (in == 8)
{
d_char[0] = '\n';
- d_char[1] = (unsigned char) NULL;
+ d_char[1] = '\0';
}
tp = point;
temp_pos = 1;
@@ -846,7 +841,7 @@ int disp;
tp++;
temp2++;
}
- *tp = (char) NULL;
+ *tp = '\0';
free(temp_buff->line);
free(temp_buff);
temp_buff = curr_line;
@@ -972,7 +967,7 @@ int column;
waddch(window, (char)character);
return(1);
}
- for (i2 = 0; (string[i2] != (char) NULL) && (((column+i2+1)-horiz_offset) < last_col); i2++)
+ for (i2 = 0; (string[i2] != '\0') && (((column+i2+1)-horiz_offset) < last_col); i2++)
waddch(window, string[i2]);
return(strlen(string));
}
@@ -1097,13 +1092,13 @@ int disp;
temp++;
}
temp=point;
- *temp = (char) NULL;
+ *temp = '\0';
temp = resiz_line((1 - temp_nod->line_length), curr_line, position);
curr_line->line_length = 1 + temp - curr_line->line;
}
curr_line->line_length = position;
curr_line = temp_nod;
- *extra = (char) NULL;
+ *extra = '\0';
position = 1;
point= curr_line->line;
if (disp)
@@ -1146,9 +1141,9 @@ struct files *name_alloc() /* allocate space for file name list node */
unsigned char *next_word(string) /* move to next word in string */
unsigned char *string;
{
- while ((*string != (char) NULL) && ((*string != 32) && (*string != 9)))
+ while ((*string != '\0') && ((*string != 32) && (*string != 9)))
string++;
- while ((*string != (char) NULL) && ((*string == 32) || (*string == 9)))
+ while ((*string != '\0') && ((*string == 32) || (*string == 9)))
string++;
return(string);
}
@@ -1182,7 +1177,7 @@ control() /* use control for commands */
if (in == 1) /* control a */
{
string = get_string(ascii_code_str, TRUE);
- if (*string != (char) NULL)
+ if (*string != '\0')
{
in = atoi(string);
wmove(text_win, scr_vert, (scr_horz - horiz_offset));
@@ -1290,7 +1285,7 @@ emacs_control()
else if (in == 15) /* control o */
{
string = get_string(ascii_code_str, TRUE);
- if (*string != (char) NULL)
+ if (*string != '\0')
{
in = atoi(string);
wmove(text_win, scr_vert, (scr_horz - horiz_offset));
@@ -1689,12 +1684,12 @@ char *cmd_str1;
return;
}
cmd_str = next_word(cmd_str);
- if (*cmd_str == (char) NULL)
+ if (*cmd_str == '\0')
{
cmd_str = cmd_str2 = get_string(file_write_prompt_str, TRUE);
}
tmp_file = resolve_name(cmd_str);
- write_file(tmp_file);
+ write_file(tmp_file, 1);
if (tmp_file != cmd_str)
free(tmp_file);
}
@@ -1705,7 +1700,7 @@ char *cmd_str1;
return;
}
cmd_str = next_word(cmd_str);
- if (*cmd_str == (char) NULL)
+ if (*cmd_str == '\0')
{
cmd_str = cmd_str2 = get_string(file_read_prompt_str, TRUE);
}
@@ -1916,9 +1911,9 @@ int advance; /* if true, skip leading spaces and tabs */
}
wrefresh(com_win);
if (esc_flag)
- in = (char) NULL;
+ in = '\0';
} while ((in != '\n') && (in != '\r'));
- *nam_str = (char) NULL;
+ *nam_str = '\0';
nam_str = tmp_string;
if (((*nam_str == ' ') || (*nam_str == 9)) && (advance))
nam_str = next_word(nam_str);
@@ -1943,7 +1938,7 @@ int sensitive;
strng1 = string1;
strng2 = string2;
tmp = 0;
- if ((strng1 == NULL) || (strng2 == NULL) || (*strng1 == (char) NULL) || (*strng2 == (char) NULL))
+ if ((strng1 == NULL) || (strng2 == NULL) || (*strng1 == '\0') || (*strng2 == '\0'))
return(FALSE);
equal = TRUE;
while (equal)
@@ -1960,7 +1955,7 @@ int sensitive;
}
strng1++;
strng2++;
- if ((*strng1 == (char) NULL) || (*strng2 == (char) NULL) || (*strng1 == ' ') || (*strng2 == ' '))
+ if ((*strng1 == '\0') || (*strng2 == '\0') || (*strng1 == ' ') || (*strng2 == ' '))
break;
tmp++;
}
@@ -2116,13 +2111,13 @@ char *arguments[];
temp_names = temp_names->next_name;
}
ptr = temp_names->name = malloc(strlen(buff) + 1);
- while (*buff != (char) NULL)
+ while (*buff != '\0')
{
*ptr = *buff;
buff++;
ptr++;
}
- *ptr = (char) NULL;
+ *ptr = '\0';
temp_names->next_name = NULL;
input_file = TRUE;
recv_file = TRUE;
@@ -2204,7 +2199,7 @@ check_fp() /* open or close files according to flags */
wmove(com_win, 0, 0);
wclrtoeol(com_win);
text_changes = TRUE;
- if ((tmp_file != NULL) && (*tmp_file != (char) NULL))
+ if ((tmp_file != NULL) && (*tmp_file != '\0'))
wprintw(com_win, file_read_fin_msg, tmp_file);
}
wrefresh(com_win);
@@ -2343,7 +2338,7 @@ int *append; /* TRUE if must append more text to end of current line */
point++;
str1++;
}
- *point = (char) NULL;
+ *point = '\0';
*append = FALSE;
if ((num == length) && (*str2 != '\n'))
*append = TRUE;
@@ -2381,10 +2376,10 @@ finish() /* prepare to exit edit session */
| portion of file_op()
*/
- if ((file_name == NULL) || (*file_name == (char) NULL))
+ if ((file_name == NULL) || (*file_name == '\0'))
file_name = get_string(save_file_name_prompt, TRUE);
- if ((file_name == NULL) || (*file_name == (char) NULL))
+ if ((file_name == NULL) || (*file_name == '\0'))
{
wmove(com_win, 0, 0);
wprintw(com_win, file_not_saved_msg);
@@ -2401,7 +2396,7 @@ finish() /* prepare to exit edit session */
file_name = tmp_file;
}
- if (write_file(file_name))
+ if (write_file(file_name, 1))
{
text_changes = FALSE;
quit(0);
@@ -2468,7 +2463,7 @@ delete_text()
free(curr_line->next_line);
}
curr_line->next_line = NULL;
- *curr_line->line = (char) NULL;
+ *curr_line->line = '\0';
curr_line->line_length = 1;
curr_line->line_number = 1;
point = curr_line->line;
@@ -2477,8 +2472,9 @@ delete_text()
}
int
-write_file(file_name)
+write_file(file_name, warn_if_exists)
char *file_name;
+int warn_if_exists;
{
char cr;
char *tmp_point;
@@ -2488,7 +2484,8 @@ char *file_name;
int write_flag = TRUE;
charac = lines = 0;
- if ((in_file_name == NULL) || strcmp(in_file_name, file_name))
+ if (warn_if_exists &&
+ ((in_file_name == NULL) || strcmp(in_file_name, file_name)))
{
if ((temp_fp = fopen(file_name, "r")))
{
@@ -2558,7 +2555,7 @@ int display_message;
int iter;
int found;
- if ((srch_str == NULL) || (*srch_str == (char) NULL))
+ if ((srch_str == NULL) || (*srch_str == '\0'))
return(FALSE);
if (display_message)
{
@@ -2583,7 +2580,7 @@ int display_message;
if (case_sen) /* if case sensitive */
{
srch_3 = srch_str;
- while ((*srch_2 == *srch_3) && (*srch_3 != (char) NULL))
+ while ((*srch_2 == *srch_3) && (*srch_3 != '\0'))
{
found = TRUE;
srch_2++;
@@ -2593,14 +2590,14 @@ int display_message;
else /* if not case sensitive */
{
srch_3 = u_srch_str;
- while ((toupper(*srch_2) == *srch_3) && (*srch_3 != (char) NULL))
+ while ((toupper(*srch_2) == *srch_3) && (*srch_3 != '\0'))
{
found = TRUE;
srch_2++;
srch_3++;
}
} /* end else */
- if (!((*srch_3 == (char) NULL) && (found)))
+ if (!((*srch_3 == '\0') && (found)))
{
found = FALSE;
if (iter < srch_line->line_length)
@@ -2668,19 +2665,19 @@ search_prompt() /* prompt and read search string (srch_str) */
{
if (srch_str != NULL)
free(srch_str);
- if ((u_srch_str != NULL) && (*u_srch_str != (char) NULL))
+ if ((u_srch_str != NULL) && (*u_srch_str != '\0'))
free(u_srch_str);
srch_str = get_string(search_prompt_str, FALSE);
gold = FALSE;
srch_3 = srch_str;
srch_1 = u_srch_str = malloc(strlen(srch_str) + 1);
- while (*srch_3 != (char) NULL)
+ while (*srch_3 != '\0')
{
*srch_1 = toupper(*srch_3);
srch_1++;
srch_3++;
}
- *srch_1 = (char) NULL;
+ *srch_1 = '\0';
search(TRUE);
}
@@ -2717,7 +2714,7 @@ undel_char() /* undelete last deleted character */
{
in = d_char[0];
insert(in);
- if (d_char[1] != (unsigned char) NULL)
+ if (d_char[1] != '\0')
{
in = d_char[1];
insert(in);
@@ -2759,7 +2756,7 @@ del_word() /* delete word in front of cursor */
d_word2++;
d_word3++;
}
- *d_word2 = (char) NULL;
+ *d_word2 = '\0';
d_wrd_len = difference = d_word2 - d_word;
d_word2 = point;
while (tposit < curr_line->line_length)
@@ -2770,7 +2767,7 @@ del_word() /* delete word in front of cursor */
d_word3++;
}
curr_line->line_length -= difference;
- *d_word2 = (char) NULL;
+ *d_word2 = '\0';
draw_line(scr_vert, scr_horz,point,position,curr_line->line_length);
d_char[0] = tmp_char[0];
d_char[1] = tmp_char[1];
@@ -2823,7 +2820,7 @@ undel_word() /* undelete last deleted word */
}
curr_line->line_length += d_wrd_len;
tmp_old_ptr = point;
- *tmp_ptr = (char) NULL;
+ *tmp_ptr = '\0';
tmp_ptr = tmp_space;
tposit = 1;
/*
@@ -2836,7 +2833,7 @@ undel_word() /* undelete last deleted word */
tmp_ptr++;
tmp_old_ptr++;
}
- *tmp_old_ptr = (char) NULL;
+ *tmp_old_ptr = '\0';
free(tmp_space);
draw_line(scr_vert, scr_horz, point, position, curr_line->line_length);
}
@@ -2862,8 +2859,8 @@ del_line() /* delete from cursor to end of line */
tposit++;
}
dlt_line->line_length = 1 + tposit - position;
- *dl1 = (char) NULL;
- *point = (char) NULL;
+ *dl1 = '\0';
+ *point = '\0';
curr_line->line_length = position;
wclrtoeol(text_win);
if (curr_line->next_line != NULL)
@@ -2898,7 +2895,7 @@ undel_line() /* undelete last deleted line */
ud1++;
ud2++;
}
- *ud1 = (char) NULL;
+ *ud1 = '\0';
draw_line(scr_vert, scr_horz,point,position,curr_line->line_length);
}
@@ -3044,7 +3041,7 @@ char *string; /* string containing user command */
if (!(path = getenv("SHELL")))
path = "/bin/sh";
last_slash = temp_point = path;
- while (*temp_point != (char) NULL)
+ while (*temp_point != '\0')
{
if (*temp_point == '/')
last_slash = ++temp_point;
@@ -3734,7 +3731,7 @@ int arg;
{
string = get_string(file_write_prompt_str, TRUE);
tmp_file = resolve_name(string);
- write_file(tmp_file);
+ write_file(tmp_file, 1);
if (tmp_file != string)
free(tmp_file);
free(string);
@@ -3751,9 +3748,9 @@ int arg;
flag = FALSE;
string = in_file_name;
- if ((string == NULL) || (*string == (char) NULL))
+ if ((string == NULL) || (*string == '\0'))
string = get_string(save_file_name_prompt, TRUE);
- if ((string == NULL) || (*string == (char) NULL))
+ if ((string == NULL) || (*string == '\0'))
{
wmove(com_win, 0, 0);
wprintw(com_win, file_not_saved_msg);
@@ -3771,7 +3768,7 @@ int arg;
string = tmp_file;
}
}
- if (write_file(string))
+ if (write_file(string, 1))
{
in_file_name = string;
text_changes = FALSE;
@@ -3788,7 +3785,7 @@ shell_op()
char *string;
if (((string = get_string(shell_prompt, TRUE)) != NULL) &&
- (*string != (char) NULL))
+ (*string != '\0'))
{
sh_command(string);
free(string);
@@ -3914,14 +3911,14 @@ Format() /* format the paragraph according to set margins */
offset -= position;
counter = position;
line = temp1 = point;
- while ((*temp1 != (char) NULL) && (*temp1 != ' ') && (*temp1 != '\t') && (counter < curr_line->line_length))
+ while ((*temp1 != '\0') && (*temp1 != ' ') && (*temp1 != '\t') && (counter < curr_line->line_length))
{
*temp2 = *temp1;
temp2++;
temp1++;
counter++;
}
- *temp2 = (char) NULL;
+ *temp2 = '\0';
if (position != 1)
bol();
while (!Blank_Line(curr_line->prev_line))
@@ -4113,7 +4110,7 @@ ee_init() /* check for init file and read it if it exists */
str1 = str2 = string;
while (*str2 != '\n')
str2++;
- *str2 = (char) NULL;
+ *str2 = '\0';
if (unique_test(string, init_strings) != 1)
continue;
@@ -4144,7 +4141,7 @@ ee_init() /* check for init file and read it if it exists */
else if (compare(str1, Echo, FALSE))
{
str1 = next_word(str1);
- if (*str1 != (char) NULL)
+ if (*str1 != '\0')
echo_string(str1);
}
else if (compare(str1, PRINTCOMMAND, FALSE))
@@ -4268,7 +4265,7 @@ dump_ee_conf()
while ((string = fgets(buffer, 512, old_init_file)) != NULL)
{
length = strlen(string);
- string[length - 1] = (char) NULL;
+ string[length - 1] = '\0';
if (unique_test(string, init_strings) == 1)
{
@@ -4315,7 +4312,7 @@ char *string;
int Counter;
temp = string;
- while (*temp != (char) NULL)
+ while (*temp != '\0')
{
if (*temp == '\\')
{
@@ -4382,17 +4379,24 @@ spell_op() /* check spelling of words in the editor */
void
ispell_op()
{
- char name[128];
+ char template[128], *name;
char string[256];
- int pid;
+ int fd;
if (restrict_mode())
{
return;
}
- pid = getpid();
- sprintf(name, "/tmp/ee.%d", pid);
- if (write_file(name))
+ (void)sprintf(template, "/tmp/ee.XXXXXXXX");
+ fd = mkstemp(template);
+ if (fd < 0) {
+ wmove(com_win, 0, 0);
+ wprintw(com_win, create_file_fail_msg, name);
+ wrefresh(com_win);
+ return;
+ }
+ close(fd);
+ if (write_file(name, 0))
{
sprintf(string, "ispell %s", name);
sh_command(string);
@@ -4415,7 +4419,7 @@ struct text *test_line;
return(0);
pnt = test_line->line;
- if ((pnt == NULL) || (*pnt == (char) NULL) ||
+ if ((pnt == NULL) || (*pnt == '\0') ||
(*pnt == '.') || (*pnt == '>'))
return(0);
@@ -4424,16 +4428,16 @@ struct text *test_line;
pnt = next_word(pnt);
}
- if (*pnt == (char) NULL)
+ if (*pnt == '\0')
return(0);
counter = 0;
- while ((*pnt != (char) NULL) && ((*pnt != ' ') && (*pnt != '\t')))
+ while ((*pnt != '\0') && ((*pnt != ' ') && (*pnt != '\t')))
{
pnt++;
counter++;
}
- while ((*pnt != (char) NULL) && ((*pnt == ' ') || (*pnt == '\t')))
+ while ((*pnt != '\0') && ((*pnt == ' ') || (*pnt == '\t')))
{
pnt++;
counter++;
@@ -4484,7 +4488,7 @@ Auto_Format() /* format the paragraph according to set margins */
d_line = NULL;
auto_format = FALSE;
offset = position;
- if ((position != 1) && ((*point == ' ') || (*point == '\t') || (position == curr_line->line_length) || (*point == (char) NULL)))
+ if ((position != 1) && ((*point == ' ') || (*point == '\t') || (position == curr_line->line_length) || (*point == '\0')))
prev_word();
temp_dword = d_word;
temp_dwl = d_wrd_len;
@@ -4499,14 +4503,14 @@ Auto_Format() /* format the paragraph according to set margins */
offset -= position;
counter = position;
line = temp1 = point;
- while ((*temp1 != (char) NULL) && (*temp1 != ' ') && (*temp1 != '\t') && (counter < curr_line->line_length))
+ while ((*temp1 != '\0') && (*temp1 != ' ') && (*temp1 != '\t') && (counter < curr_line->line_length))
{
*temp2 = *temp1;
temp2++;
temp1++;
counter++;
}
- *temp2 = (char) NULL;
+ *temp2 = '\0';
if (position != 1)
bol();
while (!Blank_Line(curr_line->prev_line))
@@ -4808,9 +4812,9 @@ char * string, *substring;
{
char *full, *sub;
- for (sub = substring; (sub != NULL) && (*sub != (char)NULL); sub++)
+ for (sub = substring; (sub != NULL) && (*sub != '\0'); sub++)
{
- for (full = string; (full != NULL) && (*full != (char)NULL);
+ for (full = string; (full != NULL) && (*full != '\0');
full++)
{
if (*sub == *full)
@@ -4853,7 +4857,7 @@ char *name;
slash = strchr(name, '/');
if (slash == NULL)
return(name);
- *slash = (char) NULL;
+ *slash = '\0';
user = (struct passwd *) getpwnam((name + 1));
*slash = '/';
}
@@ -4873,10 +4877,10 @@ char *name;
tmp = buffer;
index = 0;
- while ((*tmp != (char) NULL) && (index < 1024))
+ while ((*tmp != '\0') && (index < 1024))
{
- while ((*tmp != (char) NULL) && (*tmp != '$') &&
+ while ((*tmp != '\0') && (*tmp != '$') &&
(index < 1024))
{
long_buffer[index] = *tmp;
@@ -4892,7 +4896,7 @@ char *name;
if (*tmp == '{') /* } */ /* bracketed variable name */
{
tmp++; /* { */
- while ((*tmp != (char) NULL) &&
+ while ((*tmp != '\0') &&
(*tmp != '}') &&
(counter < 128))
{
@@ -4905,7 +4909,7 @@ char *name;
}
else
{
- while ((*tmp != (char) NULL) &&
+ while ((*tmp != '\0') &&
(*tmp != '/') &&
(*tmp != '$') &&
(counter < 128))
@@ -4915,7 +4919,7 @@ char *name;
tmp++;
}
}
- short_buffer[counter] = (char) NULL;
+ short_buffer[counter] = '\0';
if ((slash = getenv(short_buffer)) != NULL)
{
offset = strlen(slash);
@@ -4938,7 +4942,7 @@ char *name;
if (index == 1024)
return(buffer);
else
- long_buffer[index] = (char) NULL;
+ long_buffer[index] = '\0';
if (name != buffer)
free(buffer);
diff --git a/ee_version.h b/ee_version.h
index 83260d2e78ca..7e6ae079e8b6 100644
--- a/ee_version.h
+++ b/ee_version.h
@@ -2,5 +2,5 @@
| provide a version number for ee
*/
-#define EE_VERSION "1.4.6"
+#define EE_VERSION "1.4.7"
#define DATE_STRING "$Date: 2002/09/21 00:50:54 $"
diff --git a/new_curse.c b/new_curse.c
index cc01092a4926..5ceec2450b0e 100644
--- a/new_curse.c
+++ b/new_curse.c
@@ -5,43 +5,41 @@
|
| 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.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.54 $";
@@ -1113,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)
@@ -1476,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);
}
@@ -1867,7 +1865,7 @@ int place;
}
delay = 0;
Otemp = string;
- while (*Otemp != (char) NULL)
+ while (*Otemp != '\0')
{
if (*Otemp == '%')
{
@@ -1885,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 '%'
@@ -1913,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++;
@@ -1926,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;
@@ -1955,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++;
@@ -1975,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++;
@@ -2046,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;
}
@@ -2183,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,
@@ -2199,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;
@@ -2344,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);
@@ -2368,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))
{
@@ -2454,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;
}
}
@@ -2635,7 +2633,7 @@ char *string;
{
char *wstring;
- for (wstring = string; *wstring != (char) NULL; wstring++)
+ for (wstring = string; *wstring != '\0'; wstring++)
waddch(window, *wstring);
}
@@ -2713,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
@@ -2881,7 +2879,7 @@ wprintw(WINDOW *window, const char *format, ...)
#endif /* __STDC__ */
fpoint = (char *) format;
- while (*fpoint != (char) NULL)
+ while (*fpoint != '\0')
{
if (*fpoint == '%')
{
@@ -2958,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 */
@@ -3116,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)
{
@@ -3160,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));
@@ -3177,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;
@@ -3214,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
@@ -3227,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;
@@ -3248,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;
@@ -3319,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);
}
@@ -3541,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;
@@ -3550,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]))
{
@@ -3566,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__]))
@@ -3576,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;
@@ -3594,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
{
@@ -3602,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]))
@@ -3612,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);
@@ -3625,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++;
/*
@@ -3639,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);
@@ -3704,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];
@@ -3724,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--)
{