[Scummvm-git-logs] scummvm master -> 50c5177eb002da0d809f16941643a53677ec324c

digitall dgturner at iee.org
Sun Aug 25 08:30:04 CEST 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
50c5177eb0 AGI: Fix Remaining GCC Compiler Warnings


Commit: 50c5177eb002da0d809f16941643a53677ec324c
    https://github.com/scummvm/scummvm/commit/50c5177eb002da0d809f16941643a53677ec324c
Author: D G Turner (digitall at scummvm.org)
Date: 2019-08-25T07:27:21+01:00

Commit Message:
AGI: Fix Remaining GCC Compiler Warnings

These were the remaining memset on non-trivial structure warnings.

Changed paths:
    engines/agi/agi.cpp
    engines/agi/agi.h
    engines/agi/logic.h
    engines/agi/picture.h
    engines/agi/preagi.cpp
    engines/agi/view.h


diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 2277005..73d9e09 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -91,14 +91,14 @@ int AgiEngine::agiInit() {
 
 	// clear all resources and events
 	for (i = 0; i < MAX_DIRECTORY_ENTRIES; i++) {
-		memset(&_game.views[i], 0, sizeof(struct AgiView));
-		memset(&_game.pictures[i], 0, sizeof(struct AgiPicture));
-		memset(&_game.logics[i], 0, sizeof(struct AgiLogic));
-		memset(&_game.sounds[i], 0, sizeof(class AgiSound *)); // _game.sounds contains pointers now
-		memset(&_game.dirView[i], 0, sizeof(struct AgiDir));
-		memset(&_game.dirPic[i], 0, sizeof(struct AgiDir));
-		memset(&_game.dirLogic[i], 0, sizeof(struct AgiDir));
-		memset(&_game.dirSound[i], 0, sizeof(struct AgiDir));
+		_game.views[i].reset();
+		_game.pictures[i].reset();
+		_game.logics[i].reset();
+		_game.sounds[i] = nullptr; // _game.sounds contains pointers now
+		_game.dirView[i].reset();
+		_game.dirPic[i].reset();
+		_game.dirLogic[i].reset();
+		_game.dirSound[i].reset();
 	}
 
 	// clear view table
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index 8627d2d..6923b2e 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -375,7 +375,15 @@ struct AgiDir {
 	// 0x40 = was compressed
 	uint8 flags;
 
-	AgiDir() : volume(0), offset(0), len(0), clen(0), flags(0) {}
+	void reset() {
+		volume = 0;
+		offset = 0;
+		len = 0;
+		clen = 0;
+		flags = 0;
+	}
+
+	AgiDir() { reset(); }
 };
 
 struct AgiBlock {
diff --git a/engines/agi/logic.h b/engines/agi/logic.h
index 5e8700d..992ebbf 100644
--- a/engines/agi/logic.h
+++ b/engines/agi/logic.h
@@ -36,7 +36,16 @@ struct AgiLogic {
 	int numTexts;       /**< number of messages */
 	const char **texts; /**< message list */
 
-	AgiLogic() : data(nullptr), size(0), sIP(0), cIP(0), numTexts(0), texts(nullptr) {}
+	void reset() {
+		data = nullptr;
+		size = 0;
+		sIP = 0;
+		cIP = 0;
+		numTexts = 0;
+		texts = nullptr;
+	}
+
+	AgiLogic() { reset(); }
 };
 
 } // End of namespace Agi
diff --git a/engines/agi/picture.h b/engines/agi/picture.h
index 1380aae..dc6e582 100644
--- a/engines/agi/picture.h
+++ b/engines/agi/picture.h
@@ -35,7 +35,12 @@ struct AgiPicture {
 	uint32 flen;            /**< size of raw data */
 	uint8 *rdata;           /**< raw vector image data */
 
-	AgiPicture() : flen(0), rdata(nullptr) {}
+	void reset() {
+		flen = 0;
+		rdata = nullptr;
+	}
+
+	AgiPicture() { reset(); }
 };
 
 // AGI picture version
diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp
index e2751cd..aff00a7 100644
--- a/engines/agi/preagi.cpp
+++ b/engines/agi/preagi.cpp
@@ -82,10 +82,10 @@ void PreAgiEngine::initialize() {
 
 	// clear all resources and events
 	for (int i = 0; i < MAX_DIRECTORY_ENTRIES; i++) {
-		memset(&_game.pictures[i], 0, sizeof(struct AgiPicture));
-		memset(&_game.sounds[i], 0, sizeof(class AgiSound *)); // _game.sounds contains pointers now
-		memset(&_game.dirPic[i], 0, sizeof(struct AgiDir));
-		memset(&_game.dirSound[i], 0, sizeof(struct AgiDir));
+		_game.pictures[i].reset();
+		_game.sounds[i] = nullptr; // _game.sounds contains pointers now
+		_game.dirPic[i].reset();
+		_game.dirSound[i].reset();
 	}
 }
 
diff --git a/engines/agi/view.h b/engines/agi/view.h
index e4adfdc..88094d6 100644
--- a/engines/agi/view.h
+++ b/engines/agi/view.h
@@ -48,13 +48,15 @@ struct AgiView {
 	int16 loopCount;
 	AgiViewLoop *loop;
 
-	AgiView() {
+	void reset() {
 		headerStepSize = 0;
 		headerCycleTime = 0;
 		description = nullptr;
 		loopCount = 0;
 		loop = nullptr;
 	}
+
+	AgiView() { reset(); }
 };
 
 enum MotionType {





More information about the Scummvm-git-logs mailing list