diff options
author | Wayne Davison <wayned@users.sourceforge.net> | 2009-12-16 18:39:06 +0000 |
---|---|---|
committer | Wayne Davison <wayned@users.sourceforge.net> | 2009-12-16 18:39:06 +0000 |
commit | 693fd5b56e51de2910a5681533033b9530650270 (patch) | |
tree | 652a4cdfda9874c0eac0ef801a8d266528dd6af1 /Src/parse.c | |
parent | 74d17bc282cb7e9e0b0d73c87aff09ecf256dda7 (diff) | |
download | zsh-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.c | 10 |
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; |