Deleted Added
full compact
28c28
< __FBSDID("$FreeBSD: head/lib/libc/gen/pututxline.c 215310 2010-11-14 18:42:39Z ed $");
---
> __FBSDID("$FreeBSD: head/lib/libc/gen/pututxline.c 218846 2011-02-19 11:31:56Z ed $");
46,47d45
< int fd;
< FILE *fp;
48a47,48
> FILE *fp;
> int fd;
57c57
< errno = EINVAL;
---
> errno = EFTYPE;
66d65
<
73d71
< FILE *fp;
74a73
> FILE *fp;
75a75
> int error, ret;
83,84c83,84
< return (1);
< while (fread(&fe, sizeof fe, 1, fp) == 1) {
---
> return (-1);
> while (fread(&fe, sizeof(fe), 1, fp) == 1) {
91,92c91,93
< if (memcmp(fu->fu_id, fe.fu_id, sizeof fe.fu_id) == 0) {
< fseeko(fp, -(off_t)sizeof fe, SEEK_CUR);
---
> if (memcmp(fu->fu_id, fe.fu_id, sizeof(fe.fu_id)) ==
> 0) {
> ret = fseeko(fp, -(off_t)sizeof(fe), SEEK_CUR);
100,101c101,109
< if (partial == -1)
< partial = ftello(fp) - (off_t)sizeof fe;
---
> if (partial == -1) {
> partial = ftello(fp);
> /*
> * Distinguish errors from valid values so we
> * don't overwrite good data by accident.
> */
> if (partial != -1)
> partial -= (off_t)sizeof(fe);
> }
105c113
<
---
>
111c119
< fseeko(fp, partial, SEEK_SET);
---
> ret = fseeko(fp, partial, SEEK_SET);
113c121,126
< fwrite(fu, sizeof *fu, 1, fp);
---
> if (ret == -1)
> error = errno;
> else if (fwrite(fu, sizeof(*fu), 1, fp) < 1)
> error = errno;
> else
> error = 0;
115c128,129
< return (0);
---
> errno = error;
> return (error == 0 ? 0 : 1);
121d134
< FILE *fp;
122a136,137
> FILE *fp;
> int error, ret;
129,130c144,147
< return (1);
< while (fread(&fe, sizeof fe, 1, fp) == 1) {
---
> return (-1);
> error = ESRCH;
> ret = -1;
> while (fread(&fe, sizeof(fe), 1, fp) == 1 && ret != 0)
135c152
< if (memcmp(fu->fu_id, fe.fu_id, sizeof fe.fu_id) != 0)
---
> if (memcmp(fu->fu_id, fe.fu_id, sizeof(fe.fu_id)) != 0)
139,142c156,162
< fseeko(fp, -(off_t)sizeof fe, SEEK_CUR);
< fwrite(fu, sizeof *fu, 1, fp);
< fclose(fp);
< return (0);
---
> if (fseeko(fp, -(off_t)sizeof(fe), SEEK_CUR) == -1)
> error = errno;
> else if (fwrite(fu, sizeof(*fu), 1, fp) < 1)
> error = errno;
> else
> ret = 0;
>
144d163
< }
147,148c166,167
< errno = ESRCH;
< return (1);
---
> errno = error;
> return (ret);
161d179
< FILE *fp;
162a181,182
> FILE *fp;
> int error, ret;
163a184,185
> ret = 0;
>
171c193
< return (1);
---
> return (-1);
175c197
<
---
>
177c199
< fseeko(fp, -(off_t)sizeof fe, SEEK_CUR);
---
> ret = fseeko(fp, -(off_t)sizeof fe, SEEK_CUR);
180c202,207
< fwrite(fu, sizeof *fu, 1, fp);
---
> if (ret == -1)
> error = errno;
> else if (fwrite(fu, sizeof *fu, 1, fp) < 1) {
> error = errno;
> ret = -1;
> }
182c209,210
< return (0);
---
> errno = error;
> return (ret);
188d215
< int fd;
189a217
> int fd;
208,209d235
< int fd;
< uint16_t l;
210a237,238
> int error, fd;
> uint16_t l;
218c246
< for (l = sizeof *fu; l > 0 && ((const char *)fu)[l - 1] == '\0'; l--);
---
> for (l = sizeof(*fu); l > 0 && ((const char *)fu)[l - 1] == '\0'; l--) ;
220c248
< vec[0].iov_len = sizeof l;
---
> vec[0].iov_len = sizeof(l);
227,228c255,259
< return (1);
< _writev(fd, vec, 2);
---
> return (-1);
> if (_writev(fd, vec, 2) == -1)
> error = errno;
> else
> error = 0;
230c261,262
< return (0);
---
> errno = error;
> return (error == 0 ? 0 : 1);
240c272
<
---
>
269a302
> errno = EINVAL;