1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-14 11:59:50 +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);
}
void clear() { memset(this, 0, sizeof(AudioFragment)); };
void clear()
{
memset(reinterpret_cast<void*>(this), 0, sizeof(AudioFragment));
}
};
class ToneContext {
public:
inline void clear() { memset(this, 0, sizeof(ToneContext)); };
bool isFree() const { return fragment.type == FRAGMENT_EMPTY; };
inline void clear()
{
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);
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)
{
if (isTone()) return tone.mixBuffer(buffer, toneVolume, fade);
else if (isFile()) return wav.mixBuffer(buffer, wavVolume, fade);
if (isTone())
return tone.mixBuffer(buffer, toneVolume, fade);
else if (isFile())
return wav.mixBuffer(buffer, wavVolume, fade);
return 0;
}
@ -296,14 +309,17 @@ class AudioBufferFifo {
{
return (idx >= AUDIO_BUFFER_COUNT-1 ? 0 : idx+1);
}
bool full() const
{
return bufferFull;
}
bool empty() const
{
return (readIdx == writeIdx) && !bufferFull;
}
uint8_t used() const
{
return bufferFull ? AUDIO_BUFFER_COUNT : writeIdx - readIdx;

View file

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

View file

@ -90,10 +90,10 @@ PLAY_FUNCTION(playValue, source_t idx)
void playCustomFunctionFile(const CustomFunctionData * sd, uint8_t id)
{
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+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name));
filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0';
strncpy(filename + sizeof(SOUNDS_PATH), sd->play.name, LEN_FUNCTION_NAME);
filename[sizeof(SOUNDS_PATH) + LEN_FUNCTION_NAME] = '\0';
strcat(filename + sizeof(SOUNDS_PATH), SOUNDS_EXT);
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()
{
memset(displayBuf, 0, DISPLAY_BUFFER_SIZE);
memset(displayBuf, 0, DISPLAY_BUFFER_SIZE * sizeof(display_t));
}
coord_t lcdLastRightPos;

View file

@ -56,9 +56,9 @@ void loadCustomScreens()
{
for (unsigned int i=0; i<MAX_CUSTOM_SCREENS; i++) {
delete customScreens[i];
char name[sizeof(g_model.screenData[i].layoutName)+1];
char name[LAYOUT_NAME_LEN + 1];
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);
}

View file

@ -105,7 +105,7 @@ enum FontSizeIndex {
#include "colors.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)
extern display_t displayBuf[DISPLAY_BUFFER_SIZE];

View file

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

View file

@ -144,9 +144,9 @@ void loadTheme(Theme * new_theme)
void loadTheme()
{
char name[sizeof(g_eeGeneral.themeName)+1];
char name[THEME_NAME_LEN + 1];
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);
if (new_theme) {
loadTheme(new_theme);

View file

@ -47,12 +47,14 @@ class WidgetsContainerInterface
Widget ** widgets;
};
#define WIDGET_NAME_LEN 10
template<int N, int O>
class WidgetsContainer: public WidgetsContainerInterface
{
public:
struct ZonePersistentData {
char widgetName[10];
char widgetName[WIDGET_NAME_LEN];
Widget::PersistentData widgetData;
};
@ -104,9 +106,9 @@ class WidgetsContainer: public WidgetsContainerInterface
for (unsigned int i=0; i<count; i++) {
delete widgets[i];
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));
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);
}
else {

View file

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

View file

@ -32,9 +32,9 @@
#define LCD_FIRST_LAYER 0
#define LCD_SECOND_LAYER 1
uint8_t LCD_FIRST_FRAME_BUFFER[DISPLAY_BUFFER_SIZE] __SDRAM;
uint8_t LCD_SECOND_FRAME_BUFFER[DISPLAY_BUFFER_SIZE] __SDRAM;
uint8_t LCD_BACKUP_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 * sizeof(display_t)] __SDRAM;
uint8_t LCD_BACKUP_FRAME_BUFFER[DISPLAY_BUFFER_SIZE * sizeof(display_t)] __SDRAM;
uint32_t CurrentLayer = LCD_FIRST_LAYER;
@ -562,12 +562,12 @@ void DMAcopy(void * src, void * dest, int len)
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()
{
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;
}

View file

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

View file

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