From 75ca74868091a54230191b6bbdca10317877ace1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 20 Aug 2017 03:06:53 +0300 Subject: Add logging basic types sizes. --- src/CMakeLists.txt | 2 ++ src/Makefile.am | 2 ++ src/client.cpp | 2 ++ src/utils/dumpsizes.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ src/utils/dumpsizes.h | 28 ++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 src/utils/dumpsizes.cpp create mode 100644 src/utils/dumpsizes.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 420c91cf3..ec9ccd1ff 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -882,6 +882,8 @@ SET(SRCS utils/dtor.h utils/dumplibs.cpp utils/dumplibs.h + utils/dumpsizes.cpp + utils/dumpsizes.h utils/env.cpp utils/env.h utils/foreach.h diff --git a/src/Makefile.am b/src/Makefile.am index be0a7c06f..3697146ee 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -589,6 +589,8 @@ BASE_SRC += events/actionevent.h \ utils/dtor.h \ utils/dumplibs.cpp \ utils/dumplibs.h \ + utils/dumpsizes.cpp \ + utils/dumpsizes.h \ utils/env.cpp \ utils/env.h \ utils/foreach.h \ diff --git a/src/client.cpp b/src/client.cpp index d67b58dce..f2e565bdd 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -115,6 +115,7 @@ #include "utils/cpu.h" #include "utils/delete2.h" #include "utils/dumplibs.h" +#include "utils/dumpsizes.h" #include "utils/env.h" #include "utils/fuzzer.h" #include "utils/gettext.h" @@ -350,6 +351,7 @@ void Client::gameInit() updateEnv(); dumpLibs(); + dumpSizes(); // Initialize SDL logger->log1("Initializing SDL..."); diff --git a/src/utils/dumpsizes.cpp b/src/utils/dumpsizes.cpp new file mode 100644 index 000000000..86f89b6cd --- /dev/null +++ b/src/utils/dumpsizes.cpp @@ -0,0 +1,40 @@ +/* + * The ManaPlus Client + * Copyright (C) 2017 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "utils/dumpsizes.h" + +#include "logger.h" + +#include "utils/cast.h" + +#include "debug.h" + +#define dumpSize(str) \ + logger->log(" sizeof("#str"): %d", CAST_S32(sizeof(str))); + +void dumpSizes() +{ + logger->log("Type sizes:"); + dumpSize(char); + dumpSize(short); + dumpSize(int); + dumpSize(long); + dumpSize(size_t); +} diff --git a/src/utils/dumpsizes.h b/src/utils/dumpsizes.h new file mode 100644 index 000000000..c7729ac14 --- /dev/null +++ b/src/utils/dumpsizes.h @@ -0,0 +1,28 @@ +/* + * The ManaPlus Client + * Copyright (C) 2017 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef UTILS_DUMPSIZES_H +#define UTILS_DUMPSIZES_H + +#include "localconsts.h" + +void dumpSizes(); + +#endif // UTILS_DUMPSIZES_H -- cgit v1.2.3-70-g09d2