diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2022-10-13 08:21:48 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2022-10-13 08:24:11 +0000 |
commit | f079ef8aa428ebffad28f5c62cce52c2bf70fb49 (patch) | |
tree | d02c5908cb620fff0b86f9850194e5b66857d484 /usr.bin/sort | |
parent | 4d4fcf619efcc02a962d0723a7ccd94fb621c6e6 (diff) | |
download | src-f079ef8aa428ebffad28f5c62cce52c2bf70fb49.tar.gz src-f079ef8aa428ebffad28f5c62cce52c2bf70fb49.zip |
Diffstat (limited to 'usr.bin/sort')
-rw-r--r-- | usr.bin/sort/file.c | 12 |
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); } |