about summary refs log tree commit diff
path: root/Src/parse.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@users.sourceforge.net>2009-12-16 18:39:06 +0000
committerWayne Davison <wayned@users.sourceforge.net>2009-12-16 18:39:06 +0000
commit693fd5b56e51de2910a5681533033b9530650270 (patch)
tree652a4cdfda9874c0eac0ef801a8d266528dd6af1 /Src/parse.c
parent74d17bc282cb7e9e0b0d73c87aff09ecf256dda7 (diff)
downloadzsh-693fd5b56e51de2910a5681533033b9530650270.tar.gz
zsh-693fd5b56e51de2910a5681533033b9530650270.tar.xz
zsh-693fd5b56e51de2910a5681533033b9530650270.zip
Check the return value of all pipe(), read(), and write() calls.
Gets rid of all the remaining "ignoring return value" compiler
warnings, and makes some read/write operations safer by ensuring
that an EINTR is handled.
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Src/parse.c b/Src/parse.c
index 7d736e4d3..677d19615 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -2747,7 +2747,7 @@ write_dump(int dfd, LinkList progs, int map, int hlen, int tlen)
 	fdsetflags(pre, ((map ? FDF_MAP : 0) | other));
 	fdsetother(pre, tlen);
 	strcpy(fdversion(pre), ZSH_VERSION);
-	write(dfd, pre, FD_PRELEN * sizeof(wordcode));
+	write_loop(dfd, pre, FD_PRELEN * sizeof(wordcode));
 
 	for (node = firstnode(progs); node; incnode(node)) {
 	    wcf = (WCFunc) getdata(node);
@@ -2768,11 +2768,11 @@ write_dump(int dfd, LinkList progs, int map, int hlen, int tlen)
 	    head.flags = fdhbldflags(wcf->flags, (tail - n));
 	    if (other)
 		fdswap((Wordcode) &head, sizeof(head) / sizeof(wordcode));
-	    write(dfd, &head, sizeof(head));
+	    write_loop(dfd, &head, sizeof(head));
 	    tmp = strlen(n) + 1;
-	    write(dfd, n, tmp);
+	    write_loop(dfd, n, tmp);
 	    if ((tmp &= (sizeof(wordcode) - 1)))
-		write(dfd, &head, sizeof(wordcode) - tmp);
+		write_loop(dfd, &head, sizeof(wordcode) - tmp);
 	}
 	for (node = firstnode(progs); node; incnode(node)) {
 	    prog = ((WCFunc) getdata(node))->prog;
@@ -2780,7 +2780,7 @@ write_dump(int dfd, LinkList progs, int map, int hlen, int tlen)
 		   sizeof(wordcode) - 1) / sizeof(wordcode);
 	    if (other)
 		fdswap(prog->prog, (((Wordcode) prog->strs) - prog->prog));
-	    write(dfd, prog->prog, tmp * sizeof(wordcode));
+	    write_loop(dfd, prog->prog, tmp * sizeof(wordcode));
 	}
 	if (other)
 	    break;