fwrite.c (333fc21e3cd79bca0c94d7722c5a56cb5ad078d1) fwrite.c (e74101e4eff767325553039def89de70b70f36d3)
1/*-
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Chris Torek.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 53 unchanged lines hidden (view full) ---

62 struct __siov iov;
63
64 iov.iov_base = (void *)buf;
65 uio.uio_resid = iov.iov_len = n = count * size;
66 uio.uio_iov = &iov;
67 uio.uio_iovcnt = 1;
68
69 FLOCKFILE(fp);
1/*-
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Chris Torek.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 53 unchanged lines hidden (view full) ---

62 struct __siov iov;
63
64 iov.iov_base = (void *)buf;
65 uio.uio_resid = iov.iov_len = n = count * size;
66 uio.uio_iov = &iov;
67 uio.uio_iovcnt = 1;
68
69 FLOCKFILE(fp);
70 ORIENT(fp, -1);
70 /*
71 * The usual case is success (__sfvwrite returns 0);
72 * skip the divide if this happens, since divides are
73 * generally slow and since this occurs whenever size==0.
74 */
75 if (__sfvwrite(fp, &uio) != 0)
76 count = (n - uio.uio_resid) / size;
77 FUNLOCKFILE(fp);
78 return (count);
79}
71 /*
72 * The usual case is success (__sfvwrite returns 0);
73 * skip the divide if this happens, since divides are
74 * generally slow and since this occurs whenever size==0.
75 */
76 if (__sfvwrite(fp, &uio) != 0)
77 count = (n - uio.uio_resid) / size;
78 FUNLOCKFILE(fp);
79 return (count);
80}