aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/sort
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2022-10-13 08:21:48 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2022-10-13 08:24:11 +0000
commitf079ef8aa428ebffad28f5c62cce52c2bf70fb49 (patch)
treed02c5908cb620fff0b86f9850194e5b66857d484 /usr.bin/sort
parent4d4fcf619efcc02a962d0723a7ccd94fb621c6e6 (diff)
downloadsrc-f079ef8aa428ebffad28f5c62cce52c2bf70fb49.tar.gz
src-f079ef8aa428ebffad28f5c62cce52c2bf70fb49.zip
Diffstat (limited to 'usr.bin/sort')
-rw-r--r--usr.bin/sort/file.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/usr.bin/sort/file.c b/usr.bin/sort/file.c
index bfe5e5c29b86..2e3b4e0a4350 100644
--- a/usr.bin/sort/file.c
+++ b/usr.bin/sort/file.c
@@ -605,10 +605,7 @@ file_reader_init(const char *fsrc)
ret = sort_calloc(1, sizeof(struct file_reader));
- ret->elsymb = '\n';
- if (sort_opts_vals.zflag)
- ret->elsymb = 0;
-
+ ret->elsymb = sort_opts_vals.zflag ? '\0' : '\n';
ret->fname = sort_strdup(fsrc);
if (strcmp(fsrc, "-") && (compress_program == NULL) && use_mmap) {
@@ -687,14 +684,15 @@ file_reader_readline(struct file_reader *fr)
}
}
} else {
- int delim = sort_opts_vals.zflag ? '\0' : '\n';
- ssize_t len = getdelim(&fr->buffer, &fr->bsz, delim, fr->file);
+ ssize_t len;
+
+ len = getdelim(&fr->buffer, &fr->bsz, fr->elsymb, fr->file);
if (len < 0) {
if (!feof(fr->file))
err(2, NULL);
return (NULL);
}
- if (len > 0 && fr->buffer[len - 1] == delim)
+ if (len > 0 && fr->buffer[len - 1] == fr->elsymb)
len--;
ret = bwscsbdup(fr->buffer, len);
}