Sat Sep 11 18:46:22 2021 UTC ()
fseek.3: fix grammar


(rillig)
diff -r1.28 -r1.29 src/lib/libc/stdio/fseek.3

cvs diff -r1.28 -r1.29 src/lib/libc/stdio/fseek.3 (switch to unified diff)

--- src/lib/libc/stdio/fseek.3 2017/01/01 12:39:33 1.28
+++ src/lib/libc/stdio/fseek.3 2021/09/11 18:46:22 1.29
@@ -1,247 +1,247 @@ @@ -1,247 +1,247 @@
1.\" $NetBSD: fseek.3,v 1.28 2017/01/01 12:39:33 abhinav Exp $ 1.\" $NetBSD: fseek.3,v 1.29 2021/09/11 18:46:22 rillig Exp $
2.\" 2.\"
3.\" Copyright (c) 1990, 1991, 1993 3.\" Copyright (c) 1990, 1991, 1993
4.\" The Regents of the University of California. All rights reserved. 4.\" The Regents of the University of California. All rights reserved.
5.\" 5.\"
6.\" This code is derived from software contributed to Berkeley by 6.\" This code is derived from software contributed to Berkeley by
7.\" Chris Torek and the American National Standards Committee X3, 7.\" Chris Torek and the American National Standards Committee X3,
8.\" on Information Processing Systems. 8.\" on Information Processing Systems.
9.\" 9.\"
10.\" Redistribution and use in source and binary forms, with or without 10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions 11.\" modification, are permitted provided that the following conditions
12.\" are met: 12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright 13.\" 1. Redistributions of source code must retain the above copyright
14.\" notice, this list of conditions and the following disclaimer. 14.\" notice, this list of conditions and the following disclaimer.
15.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" 2. Redistributions in binary form must reproduce the above copyright
16.\" notice, this list of conditions and the following disclaimer in the 16.\" notice, this list of conditions and the following disclaimer in the
17.\" documentation and/or other materials provided with the distribution. 17.\" documentation and/or other materials provided with the distribution.
18.\" 3. Neither the name of the University nor the names of its contributors 18.\" 3. Neither the name of the University nor the names of its contributors
19.\" may be used to endorse or promote products derived from this software 19.\" may be used to endorse or promote products derived from this software
20.\" without specific prior written permission. 20.\" without specific prior written permission.
21.\" 21.\"
22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32.\" SUCH DAMAGE. 32.\" SUCH DAMAGE.
33.\" 33.\"
34.\" @(#)fseek.3 8.1 (Berkeley) 6/4/93 34.\" @(#)fseek.3 8.1 (Berkeley) 6/4/93
35.\" 35.\"
36.Dd January 1, 2017 36.Dd September 11, 2021
37.Dt FSEEK 3 37.Dt FSEEK 3
38.Os 38.Os
39.Sh NAME 39.Sh NAME
40.Nm fgetpos , 40.Nm fgetpos ,
41.Nm fseek , 41.Nm fseek ,
42.Nm fseeko , 42.Nm fseeko ,
43.Nm fsetpos , 43.Nm fsetpos ,
44.Nm ftell , 44.Nm ftell ,
45.Nm ftello , 45.Nm ftello ,
46.Nm rewind 46.Nm rewind
47.Nd reposition a stream 47.Nd reposition a stream
48.Sh LIBRARY 48.Sh LIBRARY
49.Lb libc 49.Lb libc
50.Sh SYNOPSIS 50.Sh SYNOPSIS
51.In stdio.h 51.In stdio.h
52.Ft int 52.Ft int
53.Fn fseek "FILE *stream" "long int offset" "int whence" 53.Fn fseek "FILE *stream" "long int offset" "int whence"
54.Ft int 54.Ft int
55.Fn fseeko "FILE *stream" "off_t offset" "int whence" 55.Fn fseeko "FILE *stream" "off_t offset" "int whence"
56.Ft long int 56.Ft long int
57.Fn ftell "FILE *stream" 57.Fn ftell "FILE *stream"
58.Ft off_t 58.Ft off_t
59.Fn ftello "FILE *stream" 59.Fn ftello "FILE *stream"
60.Ft void 60.Ft void
61.Fn rewind "FILE *stream" 61.Fn rewind "FILE *stream"
62.Ft int 62.Ft int
63.Fn fgetpos "FILE * restrict stream" "fpos_t * restrict pos" 63.Fn fgetpos "FILE * restrict stream" "fpos_t * restrict pos"
64.Ft int 64.Ft int
65.Fn fsetpos "FILE * restrict stream" "const fpos_t * restrict pos" 65.Fn fsetpos "FILE * restrict stream" "const fpos_t * restrict pos"
66.Sh DESCRIPTION 66.Sh DESCRIPTION
67The 67The
68.Fn fseek 68.Fn fseek
69function sets the file position indicator for the stream pointed 69function sets the file position indicator for the stream pointed
70to by 70to by
71.Fa stream . 71.Fa stream .
72The new position, measured in bytes, is obtained by adding 72The new position, measured in bytes, is obtained by adding
73.Fa offset 73.Fa offset
74bytes to the position specified by 74bytes to the position specified by
75.Fa whence . 75.Fa whence .
76If 76If
77.Fa whence 77.Fa whence
78is set to 78is set to
79.Dv SEEK_SET , 79.Dv SEEK_SET ,
80.Dv SEEK_CUR , 80.Dv SEEK_CUR ,
81or 81or
82.Dv SEEK_END , 82.Dv SEEK_END ,
83the offset is relative to the 83the offset is relative to the
84start of the file, the current position indicator, or end-of-file, 84start of the file, the current position indicator, or end-of-file,
85respectively. 85respectively.
86A successful call to the 86A successful call to the
87.Fn fseek 87.Fn fseek
88function clears the end-of-file indicator for the stream and undoes 88function clears the end-of-file indicator for the stream and undoes
89any effects of the 89any effects of the
90.Xr ungetc 3 90.Xr ungetc 3
91function on the same stream. 91function on the same stream.
92.Pp 92.Pp
93The 93The
94.Fn fseeko 94.Fn fseeko
95function is identical to the 95function is identical to the
96.Fn fseek 96.Fn fseek
97function except that the 97function except that the
98.Fa offset 98.Fa offset
99argument is of type 99argument is of type
100.Fa off_t . 100.Fa off_t .
101.Pp 101.Pp
102The 102The
103.Fn ftell 103.Fn ftell
104function 104function
105obtains the current value of the file position indicator for the 105obtains the current value of the file position indicator for the
106stream pointed to by 106stream pointed to by
107.Fa stream . 107.Fa stream .
108.Pp 108.Pp
109The 109The
110.Fn ftello 110.Fn ftello
111function is identical to the 111function is identical to the
112.Fn ftell 112.Fn ftell
113function except that the return value is of type 113function except that the return value is of type
114.Fa off_t . 114.Fa off_t .
115.Pp 115.Pp
116The 116The
117.Fn rewind 117.Fn rewind
118function sets the file position indicator for the stream pointed 118function sets the file position indicator for the stream pointed
119to by 119to by
120.Fa stream 120.Fa stream
121to the beginning of the file. 121to the beginning of the file.
122It is equivalent to: 122It is equivalent to:
123.Pp 123.Pp
124.Dl (void)fseek(stream, 0L, SEEK_SET) 124.Dl (void)fseek(stream, 0L, SEEK_SET)
125.Pp 125.Pp
126except that the error indicator for the stream is also cleared 126except that the error indicator for the stream is also cleared
127(see 127(see
128.Xr clearerr 3 ) . 128.Xr clearerr 3 ) .
129.Pp 129.Pp
130In this implementations, 130In this implementations,
131.Dq Fa fpos_t 131.Dq Fa fpos_t
132is a complex object that represents both the position and the parse 132is a complex object that represents both the position and the parse
133state of the stream, making these routines as the only way to portably 133state of the stream, making these routines the only way to portably
134reposition a text stream. 134reposition a text stream.
135The 135The
136.Ar pos 136.Ar pos
137argument of 137argument of
138.Fn fsetpos 138.Fn fsetpos
139must always be initialized by 139must always be initialized by
140a call to 140a call to
141.Fn fgetpos . 141.Fn fgetpos .
142.Sh RETURN VALUES 142.Sh RETURN VALUES
143The 143The
144.Fn rewind 144.Fn rewind
145function 145function
146returns no value. 146returns no value.
147.Pp 147.Pp
148Upon successful completion, 148Upon successful completion,
149.Fn fgetpos , 149.Fn fgetpos ,
150.Fn fseek , 150.Fn fseek ,
151.Fn fseeko , 151.Fn fseeko ,
152and 152and
153.Fn fsetpos 153.Fn fsetpos
154return 0, 154return 0,
155whereas the functions 155whereas the functions
156.Fn ftell 156.Fn ftell
157and 157and
158.Fn ftello 158.Fn ftello
159return the current offset. 159return the current offset.
160On failure, 160On failure,
161.Fn fseek , 161.Fn fseek ,
162.Fn fseeko , 162.Fn fseeko ,
163.Fn ftell , 163.Fn ftell ,
164and 164and
165.Fn ftello 165.Fn ftello
166return \-1, while 166return \-1, while
167.Fn fgetpos 167.Fn fgetpos
168and 168and
169.Fn fsetpos 169.Fn fsetpos
170return a nonzero value. 170return a nonzero value.
171.Pp 171.Pp
172On error all functions set the global variable 172On error all functions set the global variable
173.Va errno 173.Va errno
174to indicate the error. 174to indicate the error.
175Since the 175Since the
176.Fn rewind 176.Fn rewind
177function does not return an error code, applications need to clear 177function does not return an error code, applications need to clear
178.Va errno 178.Va errno
179before calling it in order to detect errors. 179before calling it in order to detect errors.
180.Sh ERRORS 180.Sh ERRORS
181.Bl -tag -width Er 181.Bl -tag -width Er
182.It Bq Er EBADF 182.It Bq Er EBADF
183The 183The
184.Fa stream 184.Fa stream
185specified 185specified
186is not a seekable stream. 186is not a seekable stream.
187.It Bq Er EINVAL 187.It Bq Er EINVAL
188The 188The
189.Fa whence 189.Fa whence
190argument to 190argument to
191.Fn fseek 191.Fn fseek
192was not 192was not
193.Dv SEEK_SET , 193.Dv SEEK_SET ,
194.Dv SEEK_END , 194.Dv SEEK_END ,
195or 195or
196.Dv SEEK_CUR . 196.Dv SEEK_CUR .
197.It Bq Er EOVERFLOW 197.It Bq Er EOVERFLOW
198For 198For
199.Fn ftell , 199.Fn ftell ,
200the current file offset cannot be represented correctly in an object of type 200the current file offset cannot be represented correctly in an object of type
201.Fa long . 201.Fa long .
202.El 202.El
203.Pp 203.Pp
204The function 204The function
205.Fn fgetpos , 205.Fn fgetpos ,
206.Fn fseek , 206.Fn fseek ,
207.Fn fseeko , 207.Fn fseeko ,
208.Fn fsetpos , 208.Fn fsetpos ,
209.Fn ftell , 209.Fn ftell ,
210.Fn ftello , 210.Fn ftello ,
211and 211and
212.Fn rewind 212.Fn rewind
213may also fail and set 213may also fail and set
214.Va errno 214.Va errno
215for any of the errors specified for the routines 215for any of the errors specified for the routines
216.Xr fflush 3 , 216.Xr fflush 3 ,
217.Xr fstat 2 , 217.Xr fstat 2 ,
218.Xr lseek 2 , 218.Xr lseek 2 ,
219and 219and
220.Xr malloc 3 . 220.Xr malloc 3 .
221.Sh SEE ALSO 221.Sh SEE ALSO
222.Xr lseek 2 , 222.Xr lseek 2 ,
223.Xr clearerr 3 , 223.Xr clearerr 3 ,
224.Xr ungetc 3 224.Xr ungetc 3
225.Sh STANDARDS 225.Sh STANDARDS
226The 226The
227.Fn fgetpos , 227.Fn fgetpos ,
228.Fn fsetpos , 228.Fn fsetpos ,
229.Fn fseek , 229.Fn fseek ,
230.Fn ftell , 230.Fn ftell ,
231and 231and
232.Fn rewind 232.Fn rewind
233functions 233functions
234conform to 234conform to
235.St -ansiC . 235.St -ansiC .
236The 236The
237.Fn fseeko 237.Fn fseeko
238and 238and
239.Fn ftello 239.Fn ftello
240functions conform to 240functions conform to
241.St -xsh5 . 241.St -xsh5 .
242.Sh BUGS 242.Sh BUGS
243The 243The
244.Fn fgetpos 244.Fn fgetpos
245and 245and
246.Fn fsetpos 246.Fn fsetpos
247functions don't store/set shift states of the stream in this implementation. 247functions don't store/set shift states of the stream in this implementation.