tadd readn to avoid need for plan9port libc - plan9port - [fork] Plan 9 from user space (HTM) git clone git://src.adamsgaard.dk/plan9port (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 2b9172c7d4f8f3f773946e1aab4f9376f50b4cf7 (DIR) parent 93f2ae0d92e0ed88fef8265194024606b78d58c6 (HTM) Author: rsc <devnull@localhost> Date: Mon, 27 Dec 2004 00:36:40 +0000 add readn to avoid need for plan9port libc Diffstat: M src/cmd/mk/archive.c | 19 +++++++++++++++++++ M src/cmd/mk/sys.h | 1 + 2 files changed, 20 insertions(+), 0 deletions(-) --- (DIR) diff --git a/src/cmd/mk/archive.c b/src/cmd/mk/archive.c t@@ -23,6 +23,25 @@ static void atimes(char *); static char *split(char*, char**); long +readn(int f, void *av, long n) +{ + char *a; + long m, t; + + a = av; + t = 0; + while(t < n){ + m = read(f, a+t, n-t); + if(m <= 0){ + if(t == 0) + return m; + break; + } + t += m; + } + return t; +} +long atimeof(int force, char *name) { Symtab *sym; (DIR) diff --git a/src/cmd/mk/sys.h b/src/cmd/mk/sys.h t@@ -2,3 +2,4 @@ #include <libc.h> #include <bio.h> #include <regexp.h> +