Subversion Repositories Kolibri OS

Rev

Rev 4921 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4921 Serge 1
/*
2
 * Copyright (c) 1990 The Regents of the University of California.
3
 * All rights reserved.
4
 *
5
 * Redistribution and use in source and binary forms are permitted
6
 * provided that the above copyright notice and this paragraph are
7
 * duplicated in all such forms and that any documentation,
8
 * advertising materials, and other materials related to such
9
 * distribution and use acknowledge that the software was developed
10
 * by the University of California, Berkeley.  The name of the
11
 * University may not be used to endorse or promote products derived
12
 * from this software without specific prior written permission.
13
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16
 */
17
 
18
/*
19
FUNCTION
6099 serge 20
<>, <>---test for end of file
4921 Serge 21
 
22
INDEX
23
	feof
6099 serge 24
INDEX
25
	feof_unlocked
4921 Serge 26
 
27
ANSI_SYNOPSIS
28
	#include 
29
	int feof(FILE *<[fp]>);
30
 
6099 serge 31
	#define _BSD_SOURCE
32
	#include 
33
	int feof_unlocked(FILE *<[fp]>);
34
 
4921 Serge 35
TRAD_SYNOPSIS
36
	#include 
37
	int feof(<[fp]>)
38
	FILE *<[fp]>;
39
 
6099 serge 40
	#define _BSD_SOURCE
41
	#include 
42
	int feof_unlocked(<[fp]>)
43
	FILE *<[fp]>;
44
 
4921 Serge 45
DESCRIPTION
46
<> tests whether or not the end of the file identified by <[fp]>
47
has been reached.
48
 
6099 serge 49
<> is a non-thread-safe version of <>.
50
<> may only safely be used within a scope
51
protected by flockfile() (or ftrylockfile()) and funlockfile().  This
52
function may safely be used in a multi-threaded program if and only
53
if they are called while the invoking thread owns the (FILE *)
54
object, as is the case after a successful call to the flockfile() or
55
ftrylockfile() functions.  If threads are disabled, then
56
<> is equivalent to <>.
57
 
4921 Serge 58
RETURNS
59
<> returns <<0>> if the end of file has not yet been reached; if
60
at end of file, the result is nonzero.
61
 
62
PORTABILITY
63
<> is required by ANSI C.
64
 
6099 serge 65
<> is a BSD extension also provided by GNU libc.
66
 
4921 Serge 67
No supporting OS subroutines are required.
68
*/
69
 
70
#include 
71
#include "local.h"
72
 
73
/* A subroutine version of the macro feof.  */
74
 
75
#undef feof
76
 
77
int
78
_DEFUN(feof, (fp),
79
       FILE * fp)
80
{
81
  int result;
82
  CHECK_INIT(_REENT, fp);
83
  _newlib_flockfile_start (fp);
84
  result = __sfeof (fp);
85
  _newlib_flockfile_end (fp);
86
  return result;
87
}