sbase

suckless unix tools
git clone git://git.2f30.org/sbase
Log | Files | Refs | README | LICENSE

commit 77fe371fe45ef3b5661d0ebea2717aef9a7c6c5a
parent 0732529fef748049054cde3db103276bbd1fe98a
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Sun,  4 Mar 2018 14:56:44 +0100

Fix type of c in getrhs()

C is compared against EOF, so it cannot be char.

Diffstat:
Med.c | 21++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/ed.c b/ed.c @@ -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