text: /*
   * Copyright (c) [2020] Huawei Technologies Co., Ltd. All rights reserved.
   *
   * OpenArkCompiler is licensed under the Mulan Permissive Software License v2.
   * You can use this software according to the terms and conditions of the MulanPSL - 2.0.
   * You may obtain a copy of MulanPSL - 2.0 at:
   *
   *   https://opensource.org/licenses/MulanPSL-2.0
   *
   * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER
   * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR
   * FIT FOR A PARTICULAR PURPOSE.
   * See the MulanPSL - 2.0 for more details.
   */
  
  #include "securec.h"
  
  /*
   * <NAME>
   * <FUNCTION DESCRIPTION>
   *    The  wscanf_s  function  is  the  wide-character  equivalent  of the scanf_s function
   *    The wscanf_s function reads data from the standard input stream stdin and
   *    writes the data into the location that's given by argument. Each argument
   *    must be a pointer to a variable of a type that corresponds to a type specifier
   *    in format. If copying occurs between strings that overlap, the behavior is
   *    undefined.
   *
   * <INPUT PARAMETERS>
   *    format                  Format control string.
   *    ...                         Optional arguments.
   *
   * <OUTPUT PARAMETERS>
   *    ...                     the converted value stored in user assigned address
   *
   * <RETURN VALUE>
   *    Returns the number of fields successfully converted and assigned;
   *    the return value does not include fields that were read but not assigned.
   *    A return value of 0 indicates that no fields were assigned.
   *    return -1 if an error occurs.
   */
  
  int wscanf_s(const wchar_t *format, ...)
  {
      int ret;                    /* If initialization causes  e838 */
      va_list argList;
  
      va_start(argList, format);
      ret = vwscanf_s(format, argList);
      va_end(argList);
      (void)argList;              /* to clear e438 last value assigned not used , the compiler will optimize this code */
  
      return ret;
  }
  
  