Piotr Caban : msvcr: Add _putch_nolock implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jun 12 07:36:12 CDT 2015


Module: wine
Branch: master
Commit: 0a600ccde8473465c47bf1c4d67da5d0a98dfb69
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0a600ccde8473465c47bf1c4d67da5d0a98dfb69

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Jun 11 17:54:28 2015 +0200

msvcr: Add _putch_nolock implementation.

---

 dlls/msvcr100/msvcr100.spec |  2 +-
 dlls/msvcr110/msvcr110.spec |  2 +-
 dlls/msvcr120/msvcr120.spec |  2 +-
 dlls/msvcr80/msvcr80.spec   |  2 +-
 dlls/msvcr90/msvcr90.spec   |  2 +-
 dlls/msvcrt/console.c       | 22 +++++++++++++++-------
 6 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 6e404f2..49b9232 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1234,7 +1234,7 @@
 @ cdecl _purecall()
 @ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock
 @ cdecl _putch(long)
-@ stub _putch_nolock
+@ cdecl _putch_nolock(long)
 @ cdecl _putenv(str)
 @ cdecl _putenv_s(str str)
 @ cdecl _putw(long ptr) MSVCRT__putw
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 28de3ab..80e46e0 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -1592,7 +1592,7 @@
 @ cdecl _purecall()
 @ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock
 @ cdecl _putch(long)
-@ stub _putch_nolock
+@ cdecl _putch_nolock(long)
 @ cdecl _putenv(str)
 @ cdecl _putenv_s(str str)
 @ cdecl _putw(long ptr) MSVCRT__putw
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index c8ba7f7..dba6752 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -1600,7 +1600,7 @@
 @ cdecl _purecall()
 @ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock
 @ cdecl _putch(long)
-@ stub _putch_nolock
+@ cdecl _putch_nolock(long)
 @ cdecl _putenv(str)
 @ cdecl _putenv_s(str str)
 @ cdecl _putw(long ptr) MSVCRT__putw
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 1570805..c45f447 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -909,7 +909,7 @@
 @ cdecl _purecall()
 @ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock
 @ cdecl _putch(long)
-@ stub _putch_nolock
+@ cdecl _putch_nolock(long)
 @ cdecl _putenv(str)
 @ cdecl _putenv_s(str str)
 @ cdecl _putw(long ptr) MSVCRT__putw
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index cab5922..6948d02 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -884,7 +884,7 @@
 @ cdecl _purecall()
 @ cdecl _putc_nolock(long ptr) MSVCRT__fputc_nolock
 @ cdecl _putch(long)
-@ stub _putch_nolock
+@ cdecl _putch_nolock(long)
 @ cdecl _putenv(str)
 @ cdecl _putenv_s(str str)
 @ cdecl _putw(long ptr) MSVCRT__putw
diff --git a/dlls/msvcrt/console.c b/dlls/msvcrt/console.c
index 82e8fb2..8801fc0 100644
--- a/dlls/msvcrt/console.c
+++ b/dlls/msvcrt/console.c
@@ -195,17 +195,25 @@ int CDECL _getch(void)
 }
 
 /*********************************************************************
- *		_putch (MSVCRT.@)
+ *		_putch_nolock (MSVCR80.@)
  */
-int CDECL _putch(int c)
+int CDECL _putch_nolock(int c)
 {
-  int retval = MSVCRT_EOF;
   DWORD count;
-  LOCK_CONSOLE;
   if (WriteConsoleA(MSVCRT_console_out, &c, 1, &count, NULL) && count == 1)
-    retval = c;
-  UNLOCK_CONSOLE;
-  return retval;
+    return c;
+  return MSVCRT_EOF;
+}
+
+/*********************************************************************
+ *		_putch (MSVCRT.@)
+ */
+int CDECL _putch(int c)
+{
+    LOCK_CONSOLE;
+    c = _putch_nolock(c);
+    UNLOCK_CONSOLE;
+    return c;
 }
 
 /*********************************************************************




More information about the wine-cvs mailing list