Commit graph

126 commits

Author SHA1 Message Date
Joachim Henze c5c0ea2e4f [0.4.10][WDMAUD.DRV][MMIXER] Improve AC97 driver from rapps by defining USE_MMIXER_LIB
By taking alternative code-paths in WdmAud and bypassing Sysaudio.

This is a squashed backport of:
0.4.15-dev-791-g 6d7ebc2048 the USE_MMIXER_LIB which gives the best results when paired with those 2 previous patches:
0.4.15-dev-765-g b8e936a57b CORE-17214 (#3148) wdmaud-racecondition-fix and
0.4.15-dev-796-g a27f0debca CORE-17276 winmm:mixer-testbot-crash-fix

Defining USE_MMIXER_LIB will fix/improve:
- the test execution times of "GCCLin_x86 on Test VBox" will be dramatically improve (iirc by ~10-15min)
- CORE-8726/CORE-9986/CORE-16564 AC97 driver from rapps will work in the same session that the driver is installed, not a single reboot is needed anymore
- CORE-13202 Unhandled exception from wdmaud.drv when recording sound in Scratch 1.4 leads to app-crash (gets fixed even for older builds that did not receive 0.4.15-dev-2794-g 81f8bce yet)
- CORE-13488 A deadlock in "DiabloII" character selection screen and "The Lion King II"
- CORE-9981 "DosBox + Commander Keen6" almost 100% fixed, DosBox + Commander Keen6 properly plays music instead of garbled output,
            same improvement for "ScummVM 2.0 with Monkey Island 2"

The playback is not yet *entirely* perfect, still a few hiccups now and then, but by orders of magnitude better than before.

Most of the above mentioned issues were a regression of SVN r44721 == 4b9731d0db

Defining USE_MMIXER_LIB will also have some negative aspects:
- CORE-17277 crash of dsound:duplex on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17278 crash of dsound:capture on "GCCLin_x86 on Test VBox" gets unhidden on the bot, but was proven to be broken even beforehand already. The driver beforehand was just not found and the tests were skipped therefore.
- CORE-17744 Fox Audio Player 0.10.2 can not longer play an mp3 file with 22kHz, WMM audio output
- It may also have a negative impact for CORE-17285 "Realtek HD Audio" but Oleg Dubinsky accepted to tolerate that and aims to approach it differently. We resolved that as WontFix therefore.
2022-11-14 18:20:43 +01:00
Joachim Henze b2494542da [0.4.10][HOST-TOOLS] Fix all remaining (>78) MSVC2010SP1 x86 dbg warnings C4018,C4996,... CORE-18104 (#1525)
From releases/0.4.9 to releases/0.4.10 we introduced tons of compiler warnings
within the whole host-tools component although the 'offending' code did not change in between both.
I am not aware which commit unhid them exactly during 0.4.10-dev',
but I will follow the footsteps of master with the fixes.
releases/0.4.9 still had 0 warnings within host-tools, and releases/0.4.13 managed to achieve the same again!

fix is a pick from:
0.4.11-dev-436-g da019b0fc5 (the mkhive\registry.c part)
0.4.13-dev-132-g f47f45dbdd (picked the remaining parts of that)
0.4.13-dev-133-g c02257ef57
0.4.13-dev-134-g 2c11c41115

the warnings could be observed with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration:

where the
0.4.13-dev-132-g f47f45dbdd part fixed the:

[6/12736] Performing build step for 'host-tools'
[13/250] Building CXX object sdk\tools\hhpcomp\CMakeFiles\hhpcomp.dir\hhpcomp.cpp.obj
C:\0410rls\reactos\sdk\tools\hhpcomp\hhpcomp.cpp(59) : warning C4996: 'chdir': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _chdir. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\direct.h(123) : see declaration of 'chdir'
C:\0410rls\reactos\sdk\tools\hhpcomp\chmc\chmc.c(160) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\hhpcomp\chmc\chmc.c(447) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\hhpcomp\chmc\chmc.c(476) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\hhpcomp\chmc\chmc.c(511) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\hpp\hpp.c(44) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\isohybrid\isohybrid.c(1201) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\isohybrid\isohybrid.c(1204) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\kbdtool\parser.c(448) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\kbdtool\parser.c(523) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\kbdtool\parser.c(598) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\ffileread.c(30) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\fcons.c(62) : warning C4996: 'fdopen': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fdopen. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(721) : see declaration of 'fdopen'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\flag.c(44) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\flag.c(73) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\flag.c(98) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\stdio\filewrite.c(82) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\fconv.c(231) : warning C4996: 'ecvt': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _ecvt. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdlib.h(864) : see declaration of 'ecvt'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\fconv.c(320) : warning C4996: 'fcvt': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fcvt. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdlib.h(865) : see declaration of 'fcvt'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\format.c(745) : warning C4996: 'gcvt': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _gcvt. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdlib.h(866) : see declaration of 'gcvt'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libschily\searchinpath.c(221) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\libsiconv\sic_nls.c(450) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(169) : warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _access. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(299) : see declaration of 'access'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(225) : warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _access. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(299) : see declaration of 'access'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(414) : warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(312) : see declaration of 'open'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(420) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(425) : warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(302) : see declaration of 'close'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(464) : warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(312) : see declaration of 'open'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(467) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(469) : warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(302) : see declaration of 'close'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(536) : warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(312) : see declaration of 'open'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(541) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\boot.c(549) : warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(302) : see declaration of 'close'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(447) : warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(312) : see declaration of 'open'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(453) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(457) : warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(302) : see declaration of 'close'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(585) : warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _open. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(312) : see declaration of 'open'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(594) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(615) : warning C4996: 'lseek': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _lseek. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(310) : see declaration of 'lseek'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(623) : warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _write. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(318) : see declaration of 'write'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\eltorito.c(624) : warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _close. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(302) : see declaration of 'close'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\match.c(74) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\match.c(201) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(124) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(126) : warning C4996: 'lseek': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _lseek. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(310) : see declaration of 'lseek'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(130) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(124) : warning C4996: 'fileno': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fileno. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(723) : see declaration of 'fileno'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(126) : warning C4996: 'lseek': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _lseek. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(310) : see declaration of 'lseek'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\multi.c(130) : warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _read. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(313) : see declaration of 'read'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\tree.c(1628) : warning C4996: 'access': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _access. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\io.h(299) : see declaration of 'access'
C:\0410rls\reactos\sdk\tools\mkisofs\schilytools\mkisofs\write.c(204) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'

C:\0410rls\reactos\sdk\tools\wpp\preproc.c(162) : warning C4013: 'open' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\wpp\preproc.c(165) : warning C4013: 'close' undefined; assuming extern returning int

C:\0410rls\reactos\sdk\tools\widl\widl.c(863) : warning C4996: 'fdopen': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fdopen. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(721) : see declaration of 'fdopen'
C:\0410rls\reactos\sdk\tools\widl\widl.c(910) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(912) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(914) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(916) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(918) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(920) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(922) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(924) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
C:\0410rls\reactos\sdk\tools\widl\widl.c(926) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'

C:\0410rls\reactos\sdk\tools\widl\typelib.c(264) : warning C4013: 'read' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\widl\typelib.c(270) : warning C4013: 'lseek' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\widl\typelib.c(343) : warning C4013: 'open' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\widl\typelib.c(383) : warning C4013: 'close' undefined; assuming extern returning int

C:\0410rls\reactos\sdk\tools\widl\utils.c(281) : warning C4013: 'open' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\widl\utils.c(283) : warning C4013: 'write' undefined; assuming extern returning int
C:\0410rls\reactos\sdk\tools\widl\utils.c(285) : warning C4013: 'close' undefined; assuming extern returning int

[194/250] Building C object sdk\tools\widl\CMakeFiles\widl.dir\parser.yy.c.obj
parser.l(488) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'
parser.l(542) : warning C4996: 'fdopen': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _fdopen. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(721) : see declaration of 'fdopen'
parser.l(562) : warning C4996: 'unlink': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _unlink. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\stdio.h(299) : see declaration of 'unlink'

[197/250] Building C object sdk\tools\widl\CMakeFiles\widl.dir\parser.tab.c.obj
parser.y(454) : warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details.
        C:\VS2010_SP1\VC\INCLUDE\string.h(238) : see declaration of 'strdup'

... and so on ... too many to name them all
----------
0.4.13-dev-134-g 2c11c41115 part fixed the:
C:\0410rls\reactos\sdk\tools\widl\getopt.c(233) : warning C4013: '_getopt_internal' undefined; assuming extern returning int
----------
0.4.13-dev-133-g c02257ef57 part fixed the:
C:\0410rls\reactos\sdk\tools\isohybrid\isohybrid.c(978) : warning C4101: 'orig_gpt_size' : unreferenced local variable
C:\0410rls\reactos\sdk\tools\isohybrid\isohybrid.c(978) : warning C4101: 'gpt_size' : unreferenced local variable
----------
partial port (registry.c) of 0.4.11-dev-436-g da019b0fc5 fixed the:
C:\0410rls\reactos\sdk\tools\mkhive\registry.c(369) : warning C4101: 'SubKeyCell' : unreferenced local variable
2022-09-17 22:00:33 +02:00
Joachim Henze 1c0a2001df [0.4.10][CRT] Fix 2 MSVC compiler warnings CORE-17812
observed with MSVC2010SP1 16.0.40219.1 x86-target in dbg+rls-config several times:
sdk\lib\crt\string\wtoi64.c(28) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
sdk\lib\crt\string\wtoi64.c(194) : warning C4146: unary minus operator applied to unsigned type, result still unsigned

the fix is a PARTIAL port of 0.4.15-dev-2951-g 5d8e834897

and while touching the file
fix another white-space-glitch.
in sum that brings us 100% in sync in this file to master 0.4.15-dev-3264-g570cedf.
2022-03-18 21:29:37 +01:00
Joachim Henze 4ea9a8a667 [0.4.10][WIN32SS][RTL] Fix regression CORE-16769 + BSOD 0x50 CORE-13907
The main motivation to port all that back is to get rid of Win32K-BSODs 0x50 like CORE-13907
that could be triggered by user-mode-applications.
Technical reason was CORE-14857 "RtlImageNtHeaderEx needs SEH" and issues with hooks+callbacks.
All other tickets mentioned in here were regressions that we experienced on the long
journey towards perfecting the fixes on master head, and those were not happening yet in the older builds,
so they are mentioned in here only to allow tracking where that code went into.

Thanks to Jim Tabor, Mark Jansen & Thomas Faber
By squashed backmerge of the following commits:
0.4.15-dev-3440-g a89844f740
0.4.15-dev-3430-g 9cff384c22
0.4.14-dev-1287-g 568b6d0558
0.4.14-dev-1255-g 177ae91bf6
0.4.14-dev-1241-g 915a5764a9
0.4.14-dev-1240-g d8add40e89
0.4.14-dev-1002-g feb7df42b4

JIRA-tickets: CORE-13907, CORE-16769, CORE-14857, CORE-17856, CORE-17857, partially CORE-13019.
We also had some more dupes of CORE-13907 in JIRA, but I linked all of them (transitively)
towards the initial report, and resolved them without setting a fixVer for them.

In more detail:
--------------
[USER32] Fix BSOD 0x50 in 'WineVDM + Castle Of Winds' CORE-17856 CORE-17857

CORE-17856 BSOD 0x50 when starting Castle of the Winds second time, with WineVDM
CORE-17857 BSOD 0x50 on shutdown after closing Castle of the Winds with WineVDM

0.4.15-dev-3430-g 9cff384c22
0.4.15-dev-3440-g a89844f740
--------------
[NTUSER] Fix Strings and Format to Hooks

Allocate heap instead of data segment to be used for callbacks on user side.
Move and correct initial hook call out setup. Use it in more than one hook call.

This fixes issues with strings out of alignment and use of kernel pointers.

See CORE-13907 (HXD-portable BSOD) and CORE-16769 (HXD-portable exception)

Small wow update.

cherry picked from commit 0.4.14-dev-1287-g 568b6d0558
--------------
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857

cherry picked from commit 0.4.14-dev-1255-g 177ae91bf6
--------------
[WIN32SS] Form Sanity to Hook Callbacks

Fix WH_CALLWNDPROC/RET data to user hook calls.
Helps with CORE-13907 "(HXD-portable BSOD)"
Fixes the logging of "(win32ss/user/ntuser/callback.c:748) err: Failure to make Callback! Status 0xc00000fd" within CORE-13019, but not the whole ticket.

cherry picked from commit 0.4.14-dev-1241-g 915a5764a9
--------------
[USER32] Fix null return.

See CORE-16769 "HxD 1.7.7.0 portable unhandled exception"

cherry picked from commit 0.4.14-dev-1240-g d8add40e89
--------------
[WIN32SS] Fix a typo in dbg print

cherry picked from commit 0.4.14-dev-1002-g feb7df42b4
2022-03-17 14:01:19 +01:00
Joachim Henze ae946feee4 [0.4.10][CRT] Do Not lock ioinfo when spawning functions (#4099) CORE-15176
This fixes CORE-15176 'Gimp 2.6.11 hangs when opening a file'.
It regressed by 0.4.9-dev-446-g bffd8201d0

Fix picked from 0.4.15-dev-3363-g 252a7530d0
2022-01-09 09:29:06 +01:00
Hermès Bélusca-Maïto f374d5110d [0.4.10] [CONUTILS] Fix regression with file redirection of 'more' CORE-14592
In ConWrite(), emit an \r when a \n is encountered but not already preceded by \r.

And, don't emit \r\n when an \r alone is encountered.
This fixes the problem of extra newlines appearing when redirecting
"more" output to a file.

CORE-14592

cherry picked from commit 0.4.11-dev-1-g
b277cbdf22
2018-08-28 21:47:05 +02:00
Joachim Henze 419aabfd90 [0.4.10] [RDBSS] avoid CORE-13938
Pierre recommended this hack-fix for 0.4.8rls before.
Avoids "GetVolumeInformation now fails on NFS volume"

I will not retest any RDBSS functionality myself in my tests,
maybe some other tester would be kind enough to retest this?

Please note that I replaced #if 0 with #if 1
as discussed with Pierre. That's different to the patch in ticket.

like in last release
(cherry picked from commit 1906186e83)
2018-08-23 15:36:34 +02:00
Mark Jansen 69893ccf38 [ATL] Improve the order of operations in CComPtr and CComQIIDPtr 2018-08-19 17:35:18 +02:00
Mike Swanson 3c7e9bb332 Remove unnecessary executable bits 2018-08-15 18:29:09 +02:00
Mark Jansen 9b6fb9f2f8
[RTL][KERNEL32] Add a comment indicating we need SEH in RtlImageNtHeaderEx
CORE-14532
CORE-14857
2018-08-13 13:24:12 +02:00
Stanislav Motylkov 4259aab7b0 [SDK] Add user-mode DMI/SMBIOS helper library
CORE-5961
2018-08-12 14:21:56 +02:00
Serge Gautherie 7d6bda16c6
[REACTOS] Improve how some ASSERTMSG() message values are printed: enforce ending "\n".
NB: Not touching calls in "third-party" code: class and classpnp.
2018-08-08 22:03:45 +02:00
Serge Gautherie fb48381cb4
[CMLIB] Simplify an ASSERTMSG() as an ASSERT(). 2018-08-08 21:45:46 +02:00
Serge Gautherie 97d3b3ce33
[REACTOS] RtlAssert(): use "%lu" as LineNumber format. 2018-08-08 21:24:07 +02:00
Mark Jansen 09719d25c4
[ATL] Fix the CComQIIDPtr template. 2018-08-05 11:54:56 +02:00
Timo Kreuzer cf77354dce [REACTOS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer 9e066abe2a [DRIVERS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Stanislav Motylkov 0854c69a75 [I8042PRT] Move DMI/SMBIOS parsing functions into library 2018-08-02 21:29:57 +02:00
Victor Perevertkin 2ae1675208 [ASM] Fixed ".double" macro in asm.inc.
GAS uses ".double" symbol for declaring floating-point constants and
".quad" symbol for declaring 64-bit numbers.
This is not compatible with our macro for MASM and introduces bugs.
Now 64-bit constants are supposed to be declared using ".quad" macro.
2018-07-15 23:25:23 +02:00
Timo Kreuzer e39876dab7 [SDK] Fix 64 bit issues 2018-07-01 14:45:21 +02:00
Timo Kreuzer 3b78272d39 [NDK] Fix alignment macros and add missing ones
Remove obsolete ALIGN_UP_BY macro definition
2018-07-01 14:45:21 +02:00
Timo Kreuzer a262e8da2d [LIBUSB] Add additional operator new/delete
This is required, since newer versions of MSVC demand that non-member operator new/delete are in the global namespace and neither static nor inline. See https://msdn.microsoft.com/en-us/library/mt723604.aspx ("Overloaded operator new and operator delete")
2018-07-01 14:45:21 +02:00
Serge Gautherie e5904542d6 [DELAYIMP] Fix/Merge definitions of __pfnDliNotifyHook2 and __pfnDliFailureHook2 2018-06-13 23:28:15 +02:00
Serge Gautherie 9415f94c3a [DELAYIMP] Fix 2 Clang-Cl warnings about __pfnDliNotifyHook2Default and __pfnDliFailureHook2Default
"warning: 'extern' variable has an initializer [-Wextern-initializer]"

CORE-14306
2018-06-13 23:28:15 +02:00
Mark Jansen 4f8dc9c266
[ATL] Add CString.CompareNoCase 2018-06-09 17:14:06 +02:00
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 54f383d996
[VFATLIB] Only check volume if full scan or if allowed to fix it
This allows doing a quick probe about whether a volume needs to be
fixed by checking its dirty bit.

CORE-14692
2018-06-05 19:34:47 +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
Eric Kohl 0f8e720711 [NTDLL_APITEST][LIB_RTL] Add a test for RtlQueryTimeZoneInformation and fix the bug in RtlpQueryRegistryDirect
In working on some problems with Time Zone adjustments in  ReactOS I found that the RtlQueryTimeZoneInformation function is partially broken and wrote an apitest to capture the failures.

Patch by Doug Lyons.

CORE-14658
2018-05-31 16:47:42 +02:00
Pierre Schweitzer 6e4e772e6c
[VFATLIB] Addendum to 469289e 2018-05-28 23:38:00 +02:00
Pierre Schweitzer 86198abd67
[VFATLIB] Fix MSVC build? 2018-05-28 23:29:06 +02:00
Pierre Schweitzer 469289ed5c
[VFATLIB] Upgrade fsck.fat to 4.1
Also make it easier to sync in the future.
2018-05-28 23:18:25 +02:00
Pierre Schweitzer 59dc951bf7
[VFATLIB] Only attempt to clear the dirty set bit in rw mode. 2018-05-28 19:37:56 +02:00
Hermès Bélusca-Maïto 1eca625839
[CONUTILS] Remove old code; modify an informative note. 2018-05-20 22:39:21 +02:00
Hermès Bélusca-Maïto 2b3fd31bc5
[CONUTILS] Use the currently active console codepage to output text to files. If you want to output UTF-8 run "chcp 65001" before.
CORE-12122
2018-05-05 01:37:30 +02:00
Mark Jansen 2c90194ae4
[ATL] Add COMMAND_HANDLER macro.
CORE-14543
2018-04-22 17:38:38 +02:00
Hermès Bélusca-Maïto 10ed9621e4
[EVTLIB] Silence some DPRINTs. 2018-04-22 02:53:40 +02:00
Pierre Schweitzer 38791299ca
[VFATLIB] Simplify in-memory boot sector copy.
So that, coverity is happy again.
NFC

CID 1434230, 1434233, 1434238, 1434243, 1434246, 1434272
2018-04-14 12:05:32 +02:00
Mark Jansen 9aa26b9c23
[RTL] actctx: Use the new RosGetProcessCompatVersion. 2018-04-09 19:36:09 +02:00
Mark Jansen d49004352f
[NTDLL] Check the process manifest at startup for a compatibility section. 2018-04-09 19:36:09 +02:00
Giannis Adamopoulos e195199a51 Fix build 2018-04-09 01:42:17 +03:00
Giannis Adamopoulos 8d3045622e [RTL] actctx.c: Use an alternative implicit activation context when an application is built for latest windows versions.
Instead of loading systemcompatible.manifest as the implicit activation context, load forwardcompatible.manifest
Add a new assembly containing all apisets called ReactOS.Apisets and make it a dependency to forwardcompatible.manifest
2018-04-09 01:28:43 +03:00
Mark Jansen 19912955f6
[RTL] Fixes for supportedOS close elements.
Imported from wine
f8cca44: ntdll: Allow closing tags for 'supportedOS' elements.
697d4a7: ntdll: Allow explicitly specified asm.v2 namespace for "trustInfo".
2018-04-09 00:07:31 +02:00
Mark Jansen 5100859e06
[ZLIB] Add minizip as library.
CORE-7684
2018-04-07 15:29:59 +02:00
Timo Kreuzer 6b1ca75899
[REACTOS] Fix 64 bit build (#465)
* [HAL] Simplify HalpReboot() and make it portable
* [NTOS:MM] Cast constant to PVOID
* [BINPATCH] Fix 64 bit build
* [VFDDRV] Fix 64 bit build and buffer overruns
* [USBOHCI] Fix structure alignment issues
* [ATL_APITEST] Fix 64 bit build
* [XDK] Update unwind structures in winnt.h
* [NTDLL_APITEST] Fix 64 bit build
* [NTDLL_WINETEST] Fix 64 bit build
* [TFTPD] Fix x64 build
* [USBPORT] Fix a C_ASSERT
* [DSOUND] Fix x64 build
* [HAL] Remove obsolete GetPteAddress() macro
2018-04-03 15:13:17 -06:00
Amine Khaldi 10517de5e6 [STRMBASE] Sync with Wine Staging 3.3. CORE-14434 2018-04-01 13:15:06 +01: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