Reactos
1//
2// cscanf.cpp
3//
4// Copyright (c) Microsoft Corporation. All rights reserved.
5//
6// The core formatted input functions for direct console I/O.
7//
8#define _ALLOW_OLD_VALIDATE_MACROS
9#include <corecrt_internal_stdio_input.h>
10
11using namespace __crt_stdio_input;
12
13template <typename Character>
14static int __cdecl common_cscanf(
15 unsigned __int64 const options,
16 Character const* const format,
17 _locale_t const locale,
18 va_list const arglist
19 ) throw()
20{
21 typedef input_processor<
22 Character,
23 console_input_adapter<Character>
24 > processor_type;
25
26 _LocaleUpdate locale_update(locale);
27
28 processor_type processor(
29 console_input_adapter<Character>(),
30 options,
31 format,
32 locale_update.GetLocaleT(),
33 arglist);
34
35 return processor.process();
36}
37
38extern "C" int __cdecl __conio_common_vcscanf(
39 unsigned __int64 const options,
40 char const* const format,
41 _locale_t const locale,
42 va_list const arglist
43 )
44{
45 return common_cscanf(options, format, locale, arglist);
46}
47
48extern "C" int __cdecl __conio_common_vcwscanf(
49 unsigned __int64 const options,
50 wchar_t const* const format,
51 _locale_t const locale,
52 va_list const arglist
53 )
54{
55 return common_cscanf(options, format, locale, arglist);
56}