1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-14 20:10:08 +03:00

GCC new warnings fixed (GCC) 8.1.1 20180531

This commit is contained in:
Bertrand Songis 2018-08-03 23:02:43 +02:00
parent a77f00d665
commit 131078e3a0
15 changed files with 62 additions and 42 deletions

View file

@ -173,14 +173,25 @@ struct AudioFragment {
strcpy(file, filename); strcpy(file, filename);
} }
void clear() { memset(this, 0, sizeof(AudioFragment)); }; void clear()
{
memset(reinterpret_cast<void*>(this), 0, sizeof(AudioFragment));
}
}; };
class ToneContext { class ToneContext {
public: public:
inline void clear() { memset(this, 0, sizeof(ToneContext)); }; inline void clear()
bool isFree() const { return fragment.type == FRAGMENT_EMPTY; }; {
memset(reinterpret_cast<void*>(this), 0, sizeof(ToneContext));
}
bool isFree() const
{
return fragment.type == FRAGMENT_EMPTY;
}
int mixBuffer(AudioBuffer *buffer, int volume, unsigned int fade); int mixBuffer(AudioBuffer *buffer, int volume, unsigned int fade);
void setFragment(uint16_t freq, uint16_t duration, uint16_t pause, uint8_t repeat, int8_t freqIncr, bool reset, uint8_t id=0) void setFragment(uint16_t freq, uint16_t duration, uint16_t pause, uint8_t repeat, int8_t freqIncr, bool reset, uint8_t id=0)
@ -265,8 +276,10 @@ class MixedContext {
int mixBuffer(AudioBuffer *buffer, int toneVolume, int wavVolume, unsigned int fade) int mixBuffer(AudioBuffer *buffer, int toneVolume, int wavVolume, unsigned int fade)
{ {
if (isTone()) return tone.mixBuffer(buffer, toneVolume, fade); if (isTone())
else if (isFile()) return wav.mixBuffer(buffer, wavVolume, fade); return tone.mixBuffer(buffer, toneVolume, fade);
else if (isFile())
return wav.mixBuffer(buffer, wavVolume, fade);
return 0; return 0;
} }
@ -296,14 +309,17 @@ class AudioBufferFifo {
{ {
return (idx >= AUDIO_BUFFER_COUNT-1 ? 0 : idx+1); return (idx >= AUDIO_BUFFER_COUNT-1 ? 0 : idx+1);
} }
bool full() const bool full() const
{ {
return bufferFull; return bufferFull;
} }
bool empty() const bool empty() const
{ {
return (readIdx == writeIdx) && !bufferFull; return (readIdx == writeIdx) && !bufferFull;
} }
uint8_t used() const uint8_t used() const
{ {
return bufferFull ? AUDIO_BUFFER_COUNT : writeIdx - readIdx; return bufferFull ? AUDIO_BUFFER_COUNT : writeIdx - readIdx;

View file

@ -509,8 +509,9 @@ typedef uint8_t swarnenable_t;
#if defined(PCBHORUS) #if defined(PCBHORUS)
#include "gui/480x272/layout.h" #include "gui/480x272/layout.h"
#include "gui/480x272/topbar.h" #include "gui/480x272/topbar.h"
#define LAYOUT_NAME_LEN 10
PACK(struct CustomScreenData { PACK(struct CustomScreenData {
char layoutName[10]; char layoutName[LAYOUT_NAME_LEN];
Layout::PersistentData layoutData; Layout::PersistentData layoutData;
}); });
#define CUSTOM_SCREENS_DATA \ #define CUSTOM_SCREENS_DATA \
@ -690,8 +691,9 @@ PACK(struct TrainerData {
#if defined(PCBHORUS) #if defined(PCBHORUS)
#include "gui/480x272/theme.h" #include "gui/480x272/theme.h"
#define THEME_NAME_LEN 8
#define THEME_DATA \ #define THEME_DATA \
NOBACKUP(char themeName[8]); \ NOBACKUP(char themeName[THEME_NAME_LEN]); \
NOBACKUP(Theme::PersistentData themeData); NOBACKUP(Theme::PersistentData themeData);
#else #else
#define THEME_DATA #define THEME_DATA

View file

@ -90,10 +90,10 @@ PLAY_FUNCTION(playValue, source_t idx)
void playCustomFunctionFile(const CustomFunctionData * sd, uint8_t id) void playCustomFunctionFile(const CustomFunctionData * sd, uint8_t id)
{ {
if (sd->play.name[0] != '\0') { if (sd->play.name[0] != '\0') {
char filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)+sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/"; char filename[sizeof(SOUNDS_PATH) + LEN_FUNCTION_NAME + sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/";
strncpy(filename + SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2); strncpy(filename + SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
strncpy(filename+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name)); strncpy(filename + sizeof(SOUNDS_PATH), sd->play.name, LEN_FUNCTION_NAME);
filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0'; filename[sizeof(SOUNDS_PATH) + LEN_FUNCTION_NAME] = '\0';
strcat(filename + sizeof(SOUNDS_PATH), SOUNDS_EXT); strcat(filename + sizeof(SOUNDS_PATH), SOUNDS_EXT);
PLAY_FILE(filename, sd->func == FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id); PLAY_FILE(filename, sd->func == FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id);
} }

View file

@ -36,7 +36,7 @@ inline bool lcdIsPointOutside(coord_t x, coord_t y)
void lcdClear() void lcdClear()
{ {
memset(displayBuf, 0, DISPLAY_BUFFER_SIZE); memset(displayBuf, 0, DISPLAY_BUFFER_SIZE * sizeof(display_t));
} }
coord_t lcdLastRightPos; coord_t lcdLastRightPos;

View file

@ -56,9 +56,9 @@ void loadCustomScreens()
{ {
for (unsigned int i=0; i<MAX_CUSTOM_SCREENS; i++) { for (unsigned int i=0; i<MAX_CUSTOM_SCREENS; i++) {
delete customScreens[i]; delete customScreens[i];
char name[sizeof(g_model.screenData[i].layoutName)+1]; char name[LAYOUT_NAME_LEN + 1];
memset(name, 0, sizeof(name)); memset(name, 0, sizeof(name));
strncpy(name, g_model.screenData[i].layoutName, sizeof(g_model.screenData[i].layoutName)); strncpy(name, g_model.screenData[i].layoutName, LAYOUT_NAME_LEN);
customScreens[i] = loadLayout(name, &g_model.screenData[i].layoutData); customScreens[i] = loadLayout(name, &g_model.screenData[i].layoutData);
} }

View file

@ -105,7 +105,7 @@ enum FontSizeIndex {
#include "colors.h" #include "colors.h"
#define DISPLAY_PIXELS_COUNT (LCD_W*LCD_H) #define DISPLAY_PIXELS_COUNT (LCD_W*LCD_H)
#define DISPLAY_BUFFER_SIZE (sizeof(display_t)*DISPLAY_PIXELS_COUNT) #define DISPLAY_BUFFER_SIZE (DISPLAY_PIXELS_COUNT)
#if defined(SIMU) #if defined(SIMU)
extern display_t displayBuf[DISPLAY_BUFFER_SIZE]; extern display_t displayBuf[DISPLAY_BUFFER_SIZE];

View file

@ -176,7 +176,7 @@ bool menuModelWizard(event_t event)
} }
break; break;
} }
strncpy(wizpath, WIZARD_PATH, sizeof(WIZARD_PATH)); strcpy(wizpath, WIZARD_PATH);
strcpy(&wizpath[sizeof(WIZARD_PATH)-1], "/"); strcpy(&wizpath[sizeof(WIZARD_PATH)-1], "/");
lcdDrawSolidFilledRect(0, 0, LCD_W, LCD_H, TEXT_BGCOLOR); lcdDrawSolidFilledRect(0, 0, LCD_W, LCD_H, TEXT_BGCOLOR);
lcd->drawBitmap(0, 0, modelselWizardBackground); lcd->drawBitmap(0, 0, modelselWizardBackground);

View file

@ -144,9 +144,9 @@ void loadTheme(Theme * new_theme)
void loadTheme() void loadTheme()
{ {
char name[sizeof(g_eeGeneral.themeName)+1]; char name[THEME_NAME_LEN + 1];
memset(name, 0, sizeof(name)); memset(name, 0, sizeof(name));
strncpy(name, g_eeGeneral.themeName, sizeof(g_eeGeneral.themeName)); strncpy(name, g_eeGeneral.themeName, THEME_NAME_LEN);
Theme * new_theme = getTheme(name); Theme * new_theme = getTheme(name);
if (new_theme) { if (new_theme) {
loadTheme(new_theme); loadTheme(new_theme);

View file

@ -47,12 +47,14 @@ class WidgetsContainerInterface
Widget ** widgets; Widget ** widgets;
}; };
#define WIDGET_NAME_LEN 10
template<int N, int O> template<int N, int O>
class WidgetsContainer: public WidgetsContainerInterface class WidgetsContainer: public WidgetsContainerInterface
{ {
public: public:
struct ZonePersistentData { struct ZonePersistentData {
char widgetName[10]; char widgetName[WIDGET_NAME_LEN];
Widget::PersistentData widgetData; Widget::PersistentData widgetData;
}; };
@ -104,9 +106,9 @@ class WidgetsContainer: public WidgetsContainerInterface
for (unsigned int i=0; i<count; i++) { for (unsigned int i=0; i<count; i++) {
delete widgets[i]; delete widgets[i];
if (persistentData->zones[i].widgetName[0]) { if (persistentData->zones[i].widgetName[0]) {
char name[sizeof(persistentData->zones[i].widgetName)+1]; char name[WIDGET_NAME_LEN + 1];
memset(name, 0, sizeof(name)); memset(name, 0, sizeof(name));
strncpy(name, persistentData->zones[i].widgetName, sizeof(persistentData->zones[i].widgetName)); strncpy(name, persistentData->zones[i].widgetName, WIDGET_NAME_LEN);
widgets[i] = loadWidget(name, getZone(i), &persistentData->zones[i].widgetData); widgets[i] = loadWidget(name, getZone(i), &persistentData->zones[i].widgetData);
} }
else { else {

View file

@ -620,9 +620,9 @@ bool luaLoadMixScript(uint8_t index)
ScriptInputsOutputs * sio = &scriptInputsOutputs[index]; ScriptInputsOutputs * sio = &scriptInputsOutputs[index];
sid.reference = SCRIPT_MIX_FIRST+index; sid.reference = SCRIPT_MIX_FIRST+index;
sid.state = SCRIPT_NOFILE; sid.state = SCRIPT_NOFILE;
char filename[sizeof(SCRIPTS_MIXES_PATH)+sizeof(sd.file)+sizeof(SCRIPT_EXT)] = SCRIPTS_MIXES_PATH "/"; char filename[sizeof(SCRIPTS_MIXES_PATH) + LEN_SCRIPT_FILENAME + sizeof(SCRIPT_EXT)] = SCRIPTS_MIXES_PATH "/";
strncpy(filename+sizeof(SCRIPTS_MIXES_PATH), sd.file, sizeof(sd.file)); strncpy(filename + sizeof(SCRIPTS_MIXES_PATH), sd.file, LEN_SCRIPT_FILENAME);
filename[sizeof(SCRIPTS_MIXES_PATH)+sizeof(sd.file)] = '\0'; filename[sizeof(SCRIPTS_MIXES_PATH) + LEN_SCRIPT_FILENAME] = '\0';
strcat(filename + sizeof(SCRIPTS_MIXES_PATH), SCRIPT_EXT); strcat(filename + sizeof(SCRIPTS_MIXES_PATH), SCRIPT_EXT);
if (luaLoad(lsScripts, filename, sid, sio) == SCRIPT_PANIC) { if (luaLoad(lsScripts, filename, sid, sio) == SCRIPT_PANIC) {
return false; return false;
@ -643,9 +643,9 @@ bool luaLoadFunctionScript(uint8_t index, uint8_t ref)
ScriptInternalData & sid = scriptInternalData[luaScriptsCount++]; ScriptInternalData & sid = scriptInternalData[luaScriptsCount++];
sid.reference = ref + index; sid.reference = ref + index;
sid.state = SCRIPT_NOFILE; sid.state = SCRIPT_NOFILE;
char filename[sizeof(SCRIPTS_FUNCS_PATH)+sizeof(fn.play.name)+sizeof(SCRIPT_EXT)] = SCRIPTS_FUNCS_PATH "/"; char filename[sizeof(SCRIPTS_FUNCS_PATH) + LEN_FUNCTION_NAME + sizeof(SCRIPT_EXT)] = SCRIPTS_FUNCS_PATH "/";
strncpy(filename+sizeof(SCRIPTS_FUNCS_PATH), fn.play.name, sizeof(fn.play.name)); strncpy(filename + sizeof(SCRIPTS_FUNCS_PATH), fn.play.name, LEN_FUNCTION_NAME);
filename[sizeof(SCRIPTS_FUNCS_PATH)+sizeof(fn.play.name)] = '\0'; filename[sizeof(SCRIPTS_FUNCS_PATH) + LEN_FUNCTION_NAME] = '\0';
strcat(filename + sizeof(SCRIPTS_FUNCS_PATH), SCRIPT_EXT); strcat(filename + sizeof(SCRIPTS_FUNCS_PATH), SCRIPT_EXT);
if (luaLoad(lsScripts, filename, sid) == SCRIPT_PANIC) { if (luaLoad(lsScripts, filename, sid) == SCRIPT_PANIC) {
return false; return false;

View file

@ -59,8 +59,8 @@ void luaInitThemesAndWidgets();
#define lua_pushtableinteger(L, k, v) (lua_pushstring(L, (k)), lua_pushinteger(L, (v)), lua_settable(L, -3)) #define lua_pushtableinteger(L, k, v) (lua_pushstring(L, (k)), lua_pushinteger(L, (v)), lua_settable(L, -3))
#define lua_pushtablenumber(L, k, v) (lua_pushstring(L, (k)), lua_pushnumber(L, (v)), lua_settable(L, -3)) #define lua_pushtablenumber(L, k, v) (lua_pushstring(L, (k)), lua_pushnumber(L, (v)), lua_settable(L, -3))
#define lua_pushtablestring(L, k, v) (lua_pushstring(L, (k)), lua_pushstring(L, (v)), lua_settable(L, -3)) #define lua_pushtablestring(L, k, v) (lua_pushstring(L, (k)), lua_pushstring(L, (v)), lua_settable(L, -3))
#define lua_pushtablenzstring(L, k, v) { char tmp[sizeof(v)+1]; strncpy(tmp, (v), sizeof(v)); tmp[sizeof(v)] = '\0'; lua_pushstring(L, (k)); lua_pushstring(L, tmp); lua_settable(L, -3); } #define lua_pushtablenzstring(L, k, v) { char tmp[sizeof(v)+1]; strncpy(tmp, (v), sizeof(tmp)-1); tmp[sizeof(v)] = '\0'; lua_pushstring(L, (k)); lua_pushstring(L, tmp); lua_settable(L, -3); }
#define lua_pushtablezstring(L, k, v) { char tmp[sizeof(v)+1]; zchar2str(tmp, (v), sizeof(v)); lua_pushstring(L, (k)); lua_pushstring(L, tmp); lua_settable(L, -3); } #define lua_pushtablezstring(L, k, v) { char tmp[sizeof(v)+1]; zchar2str(tmp, (v), sizeof(tmp)-1); lua_pushstring(L, (k)); lua_pushstring(L, tmp); lua_settable(L, -3); }
#define lua_registerlib(L, name, tab) (luaL_newmetatable(L, name), luaL_setfuncs(L, tab, 0), lua_setglobal(L, name)) #define lua_registerlib(L, name, tab) (luaL_newmetatable(L, name), luaL_setfuncs(L, tab, 0), lua_setglobal(L, name))
#define RUN_MIX_SCRIPT (1 << 0) #define RUN_MIX_SCRIPT (1 << 0)

View file

@ -82,7 +82,7 @@ Open9xSim::Open9xSim(FXApp* a):
FXMainWindow(a, "OpenTX Simu", NULL, NULL, DECOR_ALL, 20, 90, 0, 0) FXMainWindow(a, "OpenTX Simu", NULL, NULL, DECOR_ALL, 20, 90, 0, 0)
{ {
firstTime = true; firstTime = true;
memset(displayBuf, 0, DISPLAY_BUFFER_SIZE); memset(displayBuf, 0, DISPLAY_BUFFER_SIZE * sizeof(display_t));
bmp = new FXPPMImage(getApp(),NULL,IMAGE_OWNED|IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP, W2, H2); bmp = new FXPPMImage(getApp(),NULL,IMAGE_OWNED|IMAGE_KEEP|IMAGE_SHMI|IMAGE_SHMP, W2, H2);
#if defined(SIMU_AUDIO) #if defined(SIMU_AUDIO)

View file

@ -32,9 +32,9 @@
#define LCD_FIRST_LAYER 0 #define LCD_FIRST_LAYER 0
#define LCD_SECOND_LAYER 1 #define LCD_SECOND_LAYER 1
uint8_t LCD_FIRST_FRAME_BUFFER[DISPLAY_BUFFER_SIZE] __SDRAM; uint8_t LCD_FIRST_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(display_t)] __SDRAM;
uint8_t LCD_SECOND_FRAME_BUFFER[DISPLAY_BUFFER_SIZE] __SDRAM; uint8_t LCD_SECOND_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(display_t)] __SDRAM;
uint8_t LCD_BACKUP_FRAME_BUFFER[DISPLAY_BUFFER_SIZE] __SDRAM; uint8_t LCD_BACKUP_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(display_t)] __SDRAM;
uint32_t CurrentLayer = LCD_FIRST_LAYER; uint32_t CurrentLayer = LCD_FIRST_LAYER;
@ -562,12 +562,12 @@ void DMAcopy(void * src, void * dest, int len)
void lcdStoreBackupBuffer() void lcdStoreBackupBuffer()
{ {
DMAcopy(lcd->getData(), LCD_BACKUP_FRAME_BUFFER, DISPLAY_BUFFER_SIZE); DMAcopy(lcd->getData(), LCD_BACKUP_FRAME_BUFFER, DISPLAY_BUFFER_SIZE * sizeof(display_t));
} }
int lcdRestoreBackupBuffer() int lcdRestoreBackupBuffer()
{ {
DMAcopy(LCD_BACKUP_FRAME_BUFFER, lcd->getData(), DISPLAY_BUFFER_SIZE); DMAcopy(LCD_BACKUP_FRAME_BUFFER, lcd->getData(), DISPLAY_BUFFER_SIZE * sizeof(display_t));
return 1; return 1;
} }

View file

@ -552,8 +552,8 @@ void lcdRefresh()
{ {
static bool lightEnabled = (bool)isBacklightEnabled(); static bool lightEnabled = (bool)isBacklightEnabled();
if (bool(isBacklightEnabled()) != lightEnabled || memcmp(simuLcdBuf, displayBuf, DISPLAY_BUFFER_SIZE)) { if (bool(isBacklightEnabled()) != lightEnabled || memcmp(simuLcdBuf, displayBuf, DISPLAY_BUFFER_SIZE * sizeof(display_t))) {
memcpy(simuLcdBuf, displayBuf, DISPLAY_BUFFER_SIZE); memcpy(simuLcdBuf, displayBuf, DISPLAY_BUFFER_SIZE * sizeof(display_t));
lightEnabled = (bool)isBacklightEnabled(); lightEnabled = (bool)isBacklightEnabled();
simuLcdRefresh = true; simuLcdRefresh = true;
} }

View file

@ -91,7 +91,7 @@ class TelemetryItem
void clear() void clear()
{ {
memset(this, 0, sizeof(*this)); memset(reinterpret_cast<void*>(this), 0, sizeof(TelemetryItem));
lastReceived = TELEMETRY_VALUE_UNAVAILABLE; lastReceived = TELEMETRY_VALUE_UNAVAILABLE;
} }