فهرست منبع

LibC: Stub out some wscanf variants

Ali Mohammad Pur 3 سال پیش
والد
کامیت
14b91a3fe9
2فایلهای تغییر یافته به همراه60 افزوده شده و 0 حذف شده
  1. 7 0
      Userland/Libraries/LibC/wchar.h
  2. 53 0
      Userland/Libraries/LibC/wstdio.cpp

+ 7 - 0
Userland/Libraries/LibC/wchar.h

@@ -87,4 +87,11 @@ int vwprintf(const wchar_t* __restrict format, va_list args);
 int vfwprintf(FILE* __restrict stream, const wchar_t* __restrict format, va_list args);
 int vswprintf(wchar_t* __restrict wcs, size_t maxlen, const wchar_t* __restrict format, va_list args);
 
+int fwscanf(FILE* __restrict stream, const wchar_t* __restrict format, ...);
+int swscanf(const wchar_t* __restrict ws, const wchar_t* __restrict format, ...);
+int wscanf(const wchar_t* __restrict format, ...);
+int vfwscanf(FILE* __restrict stream, const wchar_t* __restrict format, va_list arg);
+int vswscanf(const wchar_t* __restrict ws, const wchar_t* __restrict format, va_list arg);
+int vwscanf(const wchar_t* __restrict format, va_list arg);
+
 __END_DECLS

+ 53 - 0
Userland/Libraries/LibC/wstdio.cpp

@@ -174,4 +174,57 @@ int vswprintf(wchar_t* __restrict wcs, size_t max_length, wchar_t const* __restr
         wcs, fmt, args);
     return static_cast<int>(length_so_far);
 }
+
+int fwscanf(FILE* __restrict stream, wchar_t const* __restrict format, ...)
+{
+    va_list ap;
+    va_start(ap, format);
+    auto rc = vfwscanf(stream, format, ap);
+    va_end(ap);
+    return rc;
+}
+
+int swscanf(wchar_t const* __restrict ws, wchar_t const* __restrict format, ...)
+{
+    va_list ap;
+    va_start(ap, format);
+    auto rc = vswscanf(ws, format, ap);
+    va_end(ap);
+    return rc;
+}
+
+int wscanf(wchar_t const* __restrict format, ...)
+{
+    va_list ap;
+    va_start(ap, format);
+    auto rc = vfwscanf(stdout, format, ap);
+    va_end(ap);
+    return rc;
+}
+
+int vfwscanf(FILE* __restrict stream, wchar_t const* __restrict format, va_list arg)
+{
+    (void)stream;
+    (void)format;
+    (void)arg;
+    dbgln("FIXME: Implement vfwscanf()");
+    TODO();
+}
+
+int vswscanf(wchar_t const* __restrict ws, wchar_t const* __restrict format, va_list arg)
+{
+    (void)ws;
+    (void)format;
+    (void)arg;
+    dbgln("FIXME: Implement vswscanf()");
+    TODO();
+}
+
+int vwscanf(wchar_t const* __restrict format, va_list arg)
+{
+    (void)format;
+    (void)arg;
+    dbgln("FIXME: Implement vwscanf()");
+    TODO();
+}
 }