Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
4349 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
<>, <>---clear file or stream error indicator
4349 Serge 21
 
22
INDEX
23
	clearerr
6099 serge 24
INDEX
25
	clearerr_unlocked
4349 Serge 26
 
27
ANSI_SYNOPSIS
28
	#include 
29
	void clearerr(FILE *<[fp]>);
30
 
6099 serge 31
	#define _BSD_SOURCE
32
	#include 
33
	void clearerr_unlocked(FILE *<[fp]>);
34
 
4349 Serge 35
TRAD_SYNOPSIS
36
	#include 
37
	void clearerr(<[fp]>)
38
	FILE *<[fp]>;
39
 
6099 serge 40
	#define _BSD_SOURCE
41
	#include 
42
	void clearerr_unlocked(<[fp]>)
43
	FILE *<[fp]>;
44
 
4349 Serge 45
DESCRIPTION
46
The <> functions maintain an error indicator with each file
47
pointer <[fp]>, to record whether any read or write errors have
48
occurred on the associated file or stream.  Similarly, it maintains an
49
end-of-file indicator to record whether there is no more data in the
50
file.
51
 
52
Use <> to reset both of these indicators.
53
 
54
See <> and <> to query the two indicators.
55
 
6099 serge 56
<> is a non-thread-safe version of <>.
57
<> may only safely be used within a scope
58
protected by flockfile() (or ftrylockfile()) and funlockfile().  This
59
function may safely be used in a multi-threaded program if and only
60
if they are called while the invoking thread owns the (FILE *)
61
object, as is the case after a successful call to the flockfile() or
62
ftrylockfile() functions.  If threads are disabled, then
63
<> is equivalent to <>.
4349 Serge 64
 
65
RETURNS
66
<> does not return a result.
67
 
68
PORTABILITY
69
ANSI C requires <>.
70
 
6099 serge 71
<> is a BSD extension also provided by GNU libc.
72
 
4349 Serge 73
No supporting OS subroutines are required.
74
*/
75
 
76
#include <_ansi.h>
77
#include 
78
#include "local.h"
79
 
80
/* A subroutine version of the macro clearerr.  */
81
 
82
#undef	clearerr
83
 
84
_VOID
85
_DEFUN(clearerr, (fp),
86
       FILE * fp)
87
{
88
  CHECK_INIT(_REENT, fp);
4921 Serge 89
  _newlib_flockfile_start (fp);
4349 Serge 90
  __sclearerr (fp);
4921 Serge 91
  _newlib_flockfile_end (fp);
4349 Serge 92
}