ReactOS
0.4.16-dev-2104-gb84fa49
clearerr.cpp
Go to the documentation of this file.
1
//
2
// clearerr.cpp
3
//
4
// Copyright (c) Microsoft Corporation. All rights reserved.
5
//
6
// Defines clearerr(), which clears error and EOF flags from a stream.
7
//
8
#include <
corecrt_internal_stdio.h
>
9
10
11
12
extern
"C"
errno_t
__cdecl
clearerr_s
(
FILE
*
const
public_stream)
13
{
14
__crt_stdio_stream
const
stream
(public_stream);
15
16
_VALIDATE_RETURN_ERRCODE
(
stream
.valid(),
EINVAL
);
17
18
_lock_file
(
stream
.public_stream());
19
__try
20
{
21
stream
.unset_flags(
_IOERROR
|
_IOEOF
);
// Clear stdio flags
22
_osfile_safe
(
_fileno
(
stream
.public_stream())) &= ~(
FEOFLAG
);
// Clear lowio flags
23
}
24
__finally
25
{
26
_unlock_file
(
stream
.public_stream());
27
}
28
__endtry
29
30
return
0;
31
}
32
33
34
35
extern
"C"
void
__cdecl
clearerr
(
FILE
*
const
stream
)
36
{
37
clearerr_s
(
stream
);
38
}
__crt_stdio_stream
Definition:
corecrt_internal_stdio.h:197
clearerr
void __cdecl clearerr(FILE *const stream)
Definition:
clearerr.cpp:35
clearerr_s
errno_t __cdecl clearerr_s(FILE *const public_stream)
Definition:
clearerr.cpp:12
FEOFLAG
@ FEOFLAG
Definition:
corecrt_internal_lowio.h:80
corecrt_internal_stdio.h
_IOERROR
@ _IOERROR
Definition:
corecrt_internal_stdio.h:56
_lock_file
void CDECL _lock_file(FILE *file)
Definition:
file.c:1487
_unlock_file
void CDECL _unlock_file(FILE *file)
Definition:
file.c:1499
_fileno
int CDECL _fileno(FILE *file)
Definition:
file.c:1925
errno_t
int errno_t
Definition:
corecrt.h:249
__cdecl
#define __cdecl
Definition:
corecrt.h:121
EINVAL
#define EINVAL
Definition:
errno.h:44
_IOEOF
#define _IOEOF
Definition:
stdio.h:18
_VALIDATE_RETURN_ERRCODE
#define _VALIDATE_RETURN_ERRCODE(expr, errorcode)
Definition:
internal_shared.h:143
__try
#define __try
Definition:
pseh2_64.h:188
__endtry
#define __endtry
Definition:
pseh2_64.h:191
__finally
#define __finally
Definition:
pseh2_64.h:190
_osfile_safe
#define _osfile_safe(i)
Definition:
internal.h:78
_iobuf
Definition:
corecrt_wstdio.h:27
stream
Definition:
parse.h:23
sdk
lib
ucrt
stdio
clearerr.cpp
Generated on Wed Jan 7 2026 06:16:09 for ReactOS by
1.9.6