[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