Implemented _getws.

diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index 4da959b..0ce4124 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -2236,6 +2236,26 @@
 }
 
 /*********************************************************************
+ *		_getws (MSVCRT.@)
+ */
+WCHAR* MSVCRT__getws(WCHAR* buf)
+{
+    MSVCRT_wint_t cc;
+    WCHAR* ws = buf;
+
+    for (cc = MSVCRT_fgetwc(MSVCRT_stdin); cc != MSVCRT_WEOF && cc != '\n';
+         cc = MSVCRT_fgetwc(MSVCRT_stdin))
+    {
+        if (cc != '\r')
+            *buf++ = (WCHAR)cc;
+    }
+    *buf = '\0';
+
+    TRACE("got '%s'\n", debugstr_w(ws));
+    return ws;
+}
+
+/*********************************************************************
  *		putc (MSVCRT.@)
  */
 int MSVCRT_putc(int c, MSVCRT_FILE* file)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 70145ed..5634221 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -262,7 +262,7 @@
 @ forward _getpid kernel32.GetCurrentProcessId
 @ stub _getsystime #(ptr)
 @ cdecl _getw(ptr) _getw
-@ stub _getws #(wstr)
+@ cdecl _getws(ptr) MSVCRT__getws
 @ cdecl _global_unwind2(ptr) _global_unwind2
 @ cdecl _heapadd (ptr long) _heapadd
 @ cdecl _heapchk() _heapchk