aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/sort
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2022-10-13 07:36:48 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2022-10-13 08:24:11 +0000
commit8b9071360a312f2bb2104864af0b9905acac87bc (patch)
treedefa6208a09b9cbf67151307f8118cfdacf819af /usr.bin/sort
parente8815fb30b340108bc4b36ab46afa31f673948d0 (diff)
downloadsrc-8b9071360a312f2bb2104864af0b9905acac87bc.tar.gz
src-8b9071360a312f2bb2104864af0b9905acac87bc.zip
Diffstat (limited to 'usr.bin/sort')
-rw-r--r--usr.bin/sort/file.c94
1 files changed, 0 insertions, 94 deletions
diff --git a/usr.bin/sort/file.c b/usr.bin/sort/file.c
index 92371d7a15b2..bfe5e5c29b86 100644
--- a/usr.bin/sort/file.c
+++ b/usr.bin/sort/file.c
@@ -63,25 +63,17 @@ const char *compress_program;
size_t max_open_files = 16;
/*
- * How much space we read from file at once
- */
-#define READ_CHUNK (4096)
-
-/*
* File reader structure
*/
struct file_reader
{
- struct reader_buffer rb;
FILE *file;
char *fname;
char *buffer;
unsigned char *mmapaddr;
unsigned char *mmapptr;
size_t bsz;
- size_t cbsz;
size_t mmapsize;
- size_t strbeg;
int fd;
char elsymb;
};
@@ -662,19 +654,6 @@ file_reader_init(const char *fsrc)
ret->file = openfile(fsrc, "r");
if (ret->file == NULL)
err(2, NULL);
-
- if (strcmp(fsrc, "-")) {
- ret->cbsz = READ_CHUNK;
- ret->buffer = sort_malloc(ret->cbsz);
- ret->bsz = 0;
- ret->strbeg = 0;
-
- ret->bsz = fread(ret->buffer, 1, ret->cbsz, ret->file);
- if (ret->bsz == 0) {
- if (ferror(ret->file))
- err(2, NULL);
- }
- }
}
return (ret);
@@ -707,79 +686,6 @@ file_reader_readline(struct file_reader *fr)
fr->mmapptr = strend + 1;
}
}
-
- } else if (fr->file != stdin) {
- char *strend;
- size_t bsz1, remsz, search_start;
-
- search_start = 0;
- remsz = 0;
- strend = NULL;
-
- if (fr->bsz > fr->strbeg)
- remsz = fr->bsz - fr->strbeg;
-
- /* line read cycle */
- for (;;) {
- if (remsz > search_start)
- strend = memchr(fr->buffer + fr->strbeg +
- search_start, fr->elsymb, remsz -
- search_start);
- else
- strend = NULL;
-
- if (strend)
- break;
- if (feof(fr->file))
- break;
-
- if (fr->bsz != fr->cbsz)
- /* NOTREACHED */
- err(2, "File read software error 1");
-
- if (remsz > (READ_CHUNK >> 1)) {
- search_start = fr->cbsz - fr->strbeg;
- fr->cbsz += READ_CHUNK;
- fr->buffer = sort_realloc(fr->buffer,
- fr->cbsz);
- bsz1 = fread(fr->buffer + fr->bsz, 1,
- READ_CHUNK, fr->file);
- if (bsz1 == 0) {
- if (ferror(fr->file))
- err(2, NULL);
- break;
- }
- fr->bsz += bsz1;
- remsz += bsz1;
- } else {
- if (remsz > 0 && fr->strbeg>0)
- bcopy(fr->buffer + fr->strbeg,
- fr->buffer, remsz);
-
- fr->strbeg = 0;
- search_start = remsz;
- bsz1 = fread(fr->buffer + remsz, 1,
- fr->cbsz - remsz, fr->file);
- if (bsz1 == 0) {
- if (ferror(fr->file))
- err(2, NULL);
- break;
- }
- fr->bsz = remsz + bsz1;
- remsz = fr->bsz;
- }
- }
-
- if (strend == NULL)
- strend = fr->buffer + fr->bsz;
-
- if ((fr->buffer + fr->strbeg <= strend) &&
- (fr->strbeg < fr->bsz) && (remsz>0))
- ret = bwscsbdup(fr->buffer + fr->strbeg, strend -
- fr->buffer - fr->strbeg);
-
- fr->strbeg = (strend - fr->buffer) + 1;
-
} else {
int delim = sort_opts_vals.zflag ? '\0' : '\n';
ssize_t len = getdelim(&fr->buffer, &fr->bsz, delim, fr->file);