Commit Graph

93 Commits

Author SHA1 Message Date
Piotr Caban e38f3761f8 msvcrt: Rewrite _popen function.
Old implementation was not thread safe, incorrectly copied file
descriptors to child process and was leaking parent pipe fd to child
process.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51719
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-25 18:53:19 +02:00
Alexandre Julliard d8ed47ec21 msvcrt: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-22 11:12:09 +02:00
Nikolay Sivov 0eaa43f6af msvcrt: Use free() on msvcrt_wstrdupa() results (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:23 +02:00
Piotr Caban f67f1ce79e msvcrt: Remove non-needed defines from msvcrt.h.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 16:41:16 +01:00
Piotr Caban 1913affb7b msvcrt: Remove MSVCRT_ prefix from file.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 21:00:22 +01:00
Piotr Caban 6ad42ee7f4 msvcrt: Remove MSVCRT_ prefix from wcs.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-03 21:00:22 +01:00
Piotr Caban f10c1118e2 msvcrt: Remove MSVCRT_ prefix from process.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:37:21 +01:00
Piotr Caban 2c35caa767 msvcrt: Remove MSVCRT_ prefix from exit.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:37:19 +01:00
Piotr Caban 9011b0b7c0 msvcrt: Remove MSVCRT_ prefix from environ.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 11:57:57 +01:00
Piotr Caban 495f24ebb8 msvcrt: Remove MSVCRT_ prefix from data.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:03:07 +01:00
Piotr Caban 9261799383 msvcrt: Use FILE from public header.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:01:08 +01:00
Piotr Caban d784dbb899 msvcrt: Remove MSVCRT_ prefix from heap.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:31 +01:00
Piotr Caban eeada5682b msvcrt: Remove MSVCRT_ prefix from errno.c functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 14:00:25 +01:00
Piotr Caban 1317b935ef msvcrt: Use errno values from public header.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 21:36:12 +01:00
Piotr Caban fa272adaeb msvcrt: Use simple type definitions from public header.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban b0a302ccea msvcrt: Use wide-char string literals.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Piotr Caban c302397c73 msvcrt: Remove MSVCRT_wchar_t type.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 21:59:39 +01:00
Alexandre Julliard 191bdeaff3 msvcrt: Build with msvcrt headers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Alexandre Julliard 6482ce7666 msvcrt: Enable multi-thread locking by default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:21 +01:00
Piotr Caban 536be09b84 msvcrt: Don't use wine/unicode.h header.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:17:51 +02:00
Alexandre Julliard ac38c175b5 msvcrt: Add MSVCRT_ prefix to the spawn() functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-02 11:51:56 +02:00
Alexandre Julliard dd016c031a msvcrt: Add some more MSVCRT prefixes to avoid conflicts with recent Mingw.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-14 18:24:46 +01:00
Michael Stefaniuc af4821ca81 msvcrt: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 21:01:09 +02:00
Alex Henrie 6413d96b6b msvcrt: Don't include MSVC 7.0+ miscellaneous functions in SOs for older DLLs.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 22:47:23 +01:00
Alexandre Julliard 7726157e19 msvcrt: Use WINAPIV calling convention for variadic functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-02 10:20:02 +01:00
Piotr Caban a4fcba60b9 msvcrt: Call CreateProcess with CREATE_UNICODE_ENVIRONMENT flag in exec functions family.
Based on a patch by Ron Yorston.
2014-12-04 14:03:34 +01:00
Piotr Caban b7c5e341ae msvcr110: Share the source code with msvcrt. 2014-04-17 13:30:47 +02:00
Austin English d42ed7595c msvcrt: Remove warning hack. 2013-05-31 11:57:29 +02:00
Alexandre Julliard d95857d669 msvcrt: Constify the arguments of execv functions. 2013-04-09 13:45:57 +02:00
Piotr Caban db58873868 msvcrt: Don't forward _getpid to kernel32. 2013-03-27 20:12:29 +01:00
Piotr Caban a968a1ad6d msvcrt: Return child exit code in _pclose function.
Based on a patch by Borut Ražem.
2013-01-18 13:28:59 +01:00
Piotr Caban f9de4eef75 msvcrt: Fix mingw compilation issues. 2011-06-03 17:44:06 +02:00
Andrew Nguyen b42f162563 msvcrt: Fix a possible memory leak in _wsystem for the NULL command case.
Spotted with Valgrind.
2011-01-17 15:56:31 +01:00
Andrew Nguyen 9361b61949 msvcrt: Fix a possible memory leak in _wpopen if a memory allocation fails. 2011-01-17 15:56:27 +01:00
Borut Razem 828fd598b0 msvcrt: popen: stderr from the child process should not be redirected to the parent's stdin. 2010-11-16 13:28:06 +01:00
Robert Wilhelm 620af69d88 msvcrt: Support system(NULL). 2010-05-28 16:22:26 +02:00
Piotr Caban b90320652d msvcrt: Rename functions conflicting with mingw headers. 2010-03-29 15:50:19 +02:00
Alexandre Julliard 82f175e9b5 msvcrt: Replace long by MSVCRT_long. 2009-05-23 11:57:39 +02:00
Alexandre Julliard da3202130e msvcrt: Convert the spawn and exec functions to use MS ABI varargs. 2009-01-03 11:38:25 +01:00
Alexandre Julliard 6718b9bce7 msvcrt: Rewrite va_list to string conversions to avoid depending on va_copy. 2008-12-17 13:52:41 +01:00
Alexandre Julliard e20ef50139 msvcrt: Pass the command interpreter as exe name from _wpopen. 2008-10-07 15:36:44 +02:00
Rob Shearman ed9cd3ede2 msvcrt: Fix mutual exclusion over logical or is always a non-zero constant.
Logical and should have been used instead.
2008-09-23 16:00:05 +02:00
Marcus Meissner a54150bc53 msvcrt: Remove strange condition which might lead to crash. 2008-01-10 12:10:44 +01:00
Hans Leidekker 41575621c8 msvcrt: Correct search strategy for the exec/spawn functions. 2008-01-08 13:40:35 +01:00
Hans Leidekker 8d768b7713 msvcrt: Implement _wexecv{, e, p, pe}. 2008-01-08 13:39:14 +01:00
Hans Leidekker 054132f931 msvcrt: Implement _wspawnl{, e, p, pe}. 2008-01-08 13:38:57 +01:00
Hans Leidekker 3fd647c243 msvcrt: Implement _wexecl{, e, p, pe}. 2008-01-08 13:38:34 +01:00
Hans Leidekker 516b4ebd0e msvcrt: Rewrite _spawnve as a wrapper. 2008-01-08 13:37:41 +01:00
Hans Leidekker c91a597305 msvcrt: Implement _execl{e, pe}. 2008-01-08 13:37:11 +01:00
Hans Leidekker 1ba54f3337 msvcrt: Rewrite _execl/_spawnl functions as wrappers around wide character implementations. 2008-01-08 13:36:59 +01:00