Fix type of c in getrhs()

C is compared against EOF, so it cannot be char.
This commit is contained in:
Roberto E. Vargas Caballero 2018-03-04 14:56:44 +01:00 committed by sin
parent 0732529fef
commit 77fe371fe4
1 changed files with 10 additions and 11 deletions

21
ed.c
View File

@ -926,15 +926,14 @@ static void
getrhs(int delim)
{
int c;
size_t siz, cap;
static char *s;
static String s;
free(s);
s = NULL;
siz = cap = 0;
free(s.str);
s.str = NULL;
s.siz = s.cap = 0;
while ((c = input()) != '\n' && c != EOF && c != delim)
s = addchar(c, s, &siz, &cap);
s = addchar('\0', s, &siz, &cap);
addchar_(c, &s);
addchar_('\0', &s);
if (c == EOF)
error("invalid pattern delimiter");
if (c == '\n') {
@ -942,15 +941,15 @@ getrhs(int delim)
back(c);
}
if (!strcmp("%", s)) {
free(s);
if (!strcmp("%", s.str)) {
free(s.str);
if (!rhs)
error("no previous substitution");
} else {
free(rhs);
rhs = s;
rhs = s.str;
}
s = NULL;
s.str = NULL;
}
static int