[Scummvm-git-logs] scummvm master -> 79dabe3435e885e537bbbd178963d0e321bd8eab
rvanlaar
noreply at scummvm.org
Fri Mar 25 15:35:05 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4053a85be6 DIRECTOR: LINGO: XObj XplayAnim: clean up builtins
79dabe3435 DIRECTOR: fix string compare when empty
Commit: 4053a85be687d0cf6524c494d605850eed7987ca
https://github.com/scummvm/scummvm/commit/4053a85be687d0cf6524c494d605850eed7987ca
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2022-03-25T16:25:40+01:00
Commit Message:
DIRECTOR: LINGO: XObj XplayAnim: clean up builtins
Only clean up the builtins from XPlayAnim and not all builtins.
Changed paths:
engines/director/lingo/xlibs/xplayanim.cpp
diff --git a/engines/director/lingo/xlibs/xplayanim.cpp b/engines/director/lingo/xlibs/xplayanim.cpp
index 7c1a07dc9c9..1521641bc10 100644
--- a/engines/director/lingo/xlibs/xplayanim.cpp
+++ b/engines/director/lingo/xlibs/xplayanim.cpp
@@ -45,7 +45,7 @@ void XPlayAnim::open(int type) {
}
void XPlayAnim::close(int type) {
- g_lingo->cleanupBuiltIns();
+ g_lingo->cleanupBuiltIns(builtins);
}
void XPlayAnim::b_xplayanim(int nargs) {
Commit: 79dabe3435e885e537bbbd178963d0e321bd8eab
https://github.com/scummvm/scummvm/commit/79dabe3435e885e537bbbd178963d0e321bd8eab
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2022-03-25T16:28:18+01:00
Commit Message:
DIRECTOR: fix string compare when empty
Variable c2 would be unintialized when the s1 would be "", the result is
undefined behavior.
Thanks to LePhilousophe for finding it.
Changed paths:
engines/director/util.cpp
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 4d50473b9d9..34861ac2128 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -965,11 +965,14 @@ int compareStrings(const Common::String &s1, const Common::String &s2) {
Common::U32String u32S2 = s2.decode(Common::kUtf8);
const Common::u32char_type_t *p1 = u32S1.c_str();
const Common::u32char_type_t *p2 = u32S2.c_str();
+
uint32 c1, c2;
- while ((c1 = charToNum(*p1)) && (c2 = charToNum(*p2)) && c1 == c2) {
+ do {
+ c1 = charToNum(*p1);
+ c2 = charToNum(*p2);
p1++;
p2++;
- }
+ } while (c1 == c2 && c1);
return c1 - c2;
}
More information about the Scummvm-git-logs
mailing list