From bd354843c2751ec6c7b5b85ef08f9145f6232e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 17 Oct 2014 12:51:13 +0200 Subject: Read stdin when given - as filename --- text.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'text.c') diff --git a/text.c b/text.c index 89e3512..7757e70 100644 --- a/text.c +++ b/text.c @@ -692,6 +692,18 @@ out: return NULL; } +Text *text_load_fd(int fd) { + Text *txt = text_load(NULL); + if (!txt) + return NULL; + char buf[1024]; + for (ssize_t len = 0; (len = read(fd, buf, sizeof buf)) > 0;) + text_insert(txt, text_size(txt), buf, len); + text_snapshot(txt); + txt->fd = fd; + return txt; +} + static void print_piece(Piece *p) { fprintf(stderr, "index: %d\tnext: %d\tprev: %d\t len: %d\t data: %p\n", p->index, p->next ? p->next->index : -1, -- cgit v1.2.3