safec  3.6.0
Safe C Library - ISO TR24731 Bounds Checking Interface
vfwscanf_s.c File Reference
#include "safe_str_lib.h"
+ Include dependency graph for vfwscanf_s.c:

Functions

EXPORT int vfwscanf_s (FILE *restrict stream, const wchar_t *restrict fmt, va_list ap)
 The vfwscanf_s function reads a formatted wide string. More...
 

Function Documentation

◆ vfwscanf_s()

EXPORT int vfwscanf_s ( FILE *restrict  stream,
const wchar_t *restrict  fmt,
va_list  ap 
)

The vfwscanf_s function reads a formatted wide string.

Reaching the end of the string is equivalent to reaching the end-of-file condition for fwscanf.

Remarks
SPECIFIED IN
Parameters
[in]streampointer to a FILE stream to read from
[in]fmtformat-control wide string.
[out]aparguments to write to
Precondition
Neither stream nor fmt shall be a null pointer.
fmt shall not contain the conversion specifier n
None of the arguments corresponding to s is a null pointer. (not yet)
No encoding error shall occur.
c, s, and %[ conversion specifiers each expect two arguments (the usual pointer and a value of type rsize_t indicating the size of the receiving array, which may be 1 when reading with a lc into a single wide character) and except that the following errors are detected at runtime and call the currently installed constraint handler function. (not yet)
Warning
The current implementation just does some basic argument checks and then calls the native vsscanf() libc function. Thus the s null pointer check and the two-arg versions of c, s, and %[ are not yet implemented.
Returns
Number of receiving arguments successfully assigned, or EOF if read failure occurs before the first receiving argument was assigned or if there is a runtime constraint violation.
Todo:
When an argument is not assigned to, it should be zero'd (not yet).
Return values
int>0 on success, the number of arguments assigned
EOFon error
See also
vswscanf_s(), fwscanf_s(), vfwprintf_s()