Commit graph

21 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
f215f394d8
[CRT] Always initialize _[w]pgmptr with a *FULL* path to the current application.
Otherwise fall back to the computed argv[0].
This is expected by some applications, for example Git.
Code is adapted from Wine.

Many thanks to Stanislav Motylkov for having investigated this bug!

CORE-12931 CORE-13892 CORE-13898 CORE-14066
2018-06-05 23:55:46 +02:00
Pierre Schweitzer
2dfe5e3f46
[CRT] Reimplement qsort() using FreeBSD implementation.
Our implementation had a bug that could be triggered while
building our USBD library on ReactOS: the compare function
could be called with a NULL pointer instead of a valid value.

With this bug fixed (and the cmd hack in CORE-14648), ReactOS
can totally selfhost :-)! I was able to build LiveCD and BootCD
without any trouble, crash, deadlock or whatever.
(Next step: having a buildbot slave hosted on ReactOS ;-)).

Enjoy: https://twitter.com/HeisSpiter/status/1002880397103988737

CORE-14680
2018-06-02 13:56:42 +02:00
Victor Perevertkin
65eabed2e1
[CRT] Fixed _tstat64 which wrongly set executable bits on files. CORE-10904
Replaced some string functions with their tchar.h analogs
2018-03-26 13:41:27 +02:00
Thomas Faber
2765bddffa
[CRT] Various fixes to Wine file functions.
Import the following Wine commits:
* ea2798f1ce9 Iván Matellanes: msvcrt: _setmode should check if file descriptor is valid.
* 9b495caacfd Carlo Bramini: msvcrt: Call SetFilePointer() with correct parameters.
* 13f34481b26 Carlo Bramini: msvcrt: Use MSVCRT_xxx macros instead of the same ones from GLIBC.
* 781b069ed81 Piotr Caban: msvcrt: Don't close HANDLE if stdout or stderr is sharing it.
2018-03-26 13:35:02 +02:00
Thomas Faber
6aa8e3cc20
[CRT] Update file descriptor handling to match Wine (7/7). CORE-14504
Import Wine commits by Piotr Caban:
* 6ed69c107f8 msvcrt: Avoid using global critical section while allocating new file descriptors.
* 725e4733cf8 msvcrt: Remove no longer needed global lock from functions using fd critical sections.
2018-03-26 13:01:00 +02:00
Thomas Faber
27b79867ea
[CRT] Update file descriptor handling to match Wine (6/7). CORE-14504
Import Wine commits by Piotr Caban:
* 417b6056877 msvcrt: Fix possible deadlock in dup2 function.
* e7fc2370885 msvcrt: Don't use fdend in create_io_inherit_block.
2018-03-26 13:00:49 +02:00
Thomas Faber
53864fcc5f
[CRT] Update file descriptor handling to match Wine (5/7). CORE-14504
Import Wine commits by Piotr Caban:
* 86baccc9ae9 msvcrt: Get rid of fdtoh helper.
* bd6eaf918c5 msvcrt: Get rid of is_valid_fd helper.
2018-03-26 13:00:39 +02:00
Thomas Faber
bffd8201d0
[CRT] Update file descriptor handling to match Wine (4/7). CORE-14504
Import Wine commits by Piotr Caban:
* c7b0fb51543 msvcrt: Use fd critical section in _dup2.
* b052afd4afa msvcrt: Use fd critical section in msvcrt_free_fd.
* 16285f5700f msvcrt: Use fd critical section in read.
* 9ce2a8a60c1 msvcrt: Use fd critical section in create_io_inherit_block.
* f00b7f40584 msvcrt: Use fd critical section in _setmode.
* ba757eaec74 msvcrt: Use fd critical section in _write.
* eec7a565bec msvcrt: Don't lock __badioinfo.
2018-03-26 13:00:25 +02:00
Thomas Faber
c529e727d7
[CRT] Update file descriptor handling to match Wine (3/7). CORE-14504
Import Wine commits by Piotr Caban:
* 6c2d4f1092d msvcrt: Use fd critical section in _fstat64.
* 9278190d468 msvcrt: Use fd critical section in _futime64.
2018-03-26 13:00:15 +02:00
Thomas Faber
9eb1eae28c
[CRT] Update file descriptor handling to match Wine (2/7). CORE-14504
Import Wine commits by Piotr Caban:
* 4508e665c07 msvcrt: Use fd critical section in _commit.
* afc6962a24a msvcrt: Use fd critical section in _close.
* 9a4cfbc3edc msvcrt: Use fd critical section in _eof.
* ffdd16cc0d7 msvcrt: Use fd critical section in _locking.
* fa6de597700 msvcrt: Use fd critical section in _lseeki64.
* f2f45d5fe67 msvcrt: Use fd critical section in _chsize_s.
2018-03-26 13:00:06 +02:00
Thomas Faber
25064fdf3c
[CRT] Update file descriptor handling to match Wine (1/7). CORE-14504
Import Wine commits by Piotr Caban:
* 0c4cb6ce5d4 msvcrt: Initialize file descriptor critical section.
* 1d791f5db24 msvcrt: Rename msvcrt_get_ioinfo function.
2018-03-26 12:59:58 +02:00
Hermès Bélusca-Maïto
1a31889801
[CRT] Implement the missing CRT _sc(w)printf() functions. CORE-14497 2018-03-23 22:30:18 +01:00
Hermès Bélusca-Maïto
fd6e2d752d
[CRT] Fix implementation of _vsc(w)printf() for native NT. 2018-03-23 22:03:35 +01:00
Mark Jansen
2f548599a4
[SDK] Do not use a NUL file while calculating format string length
CORE-14342
2018-03-10 00:04:57 +01:00
Serge Gautherie
44023cb7d7
[CRT:STARTUP] Fix a Clang-Cl warning about GS_ExceptionPointers
"warning: unused variable 'GS_ExceptionPointers' [-Wunused-const-variable]"
Missed in CORE-8626 r64704.

CORE-14306
2018-02-10 18:13:12 +01:00
Amine Khaldi
09c06a2f45 [CLANG-CL] Initial commit that allows us to compile ReactOS with clang-cl. 2017-11-23 14:09:57 +01:00
Amine Khaldi
861360c65f [CRT/STARTUP] For some reason we get unresolved external symbol ___globallocalestatus when compiling with clang-cl. CORE-11799 CORE-14042 (#94) 2017-11-23 13:25:57 +01:00
zefklop
07c7295545
[CRT] fix bug in _rotr implementation 2017-10-28 10:28:27 +02:00
Samuel Serapion
136fabd357 [CRT] Use MAX_PATH for buffer meant to contain an arbitrary path
The cFileName member of WIN32_FIND_DATA is an array of MAX_PATH(260). Using strcpy/wcscpy with the target buffer being smaller is potentially bad. Corresponds to CID 1401198 and 1401195.
2017-10-23 14:44:38 +02:00
Colin Finck
9ebf43567d Add .gitattributes and .gitignore files and normalize line endings in the repository (#10) 2017-10-04 20:37:32 +02:00
Colin Finck
c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00