Vendor import of ee 1.4.7.
This commit is contained in:
parent
01177cd0a8
commit
102e06e7f9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/ee/dist/; revision=192840 svn path=/vendor/ee/1.4.7/; revision=192841; tag=vendor/ee/1.4.7
6
Changes
6
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
|
||||
|
47
README.ee
47
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.
|
||||
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 | |
|
||||
|\ /|
|
||||
| \/ |
|
||||
|
||||
|
224
ee.c
224
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);
|
||||
|
@ -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 $"
|
||||
|
182
new_curse.c
182
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--)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user