diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c index cebed1ef..0b69bfa0 100644 --- a/src/gdisp/gdisp.c +++ b/src/gdisp/gdisp.c @@ -554,26 +554,26 @@ static void line_clip(GDisplay *g) { /* Driver exported functions. */ /*===========================================================================*/ -typedef const GDISPVMT const GDISPVMTLIST[]; - void _gdispInit(void) { // GDISP_DRIVER_LIST is defined - create each driver instance #if defined(GDISP_DRIVER_LIST) { unsigned i; + typedef const GDISPVMT const GDISPVMTLIST[1]; - extern GDISPVMTLIST GDISP_DRIVER_LIST; - static GDISPVMTLIST dclist[] = {GDISP_DRIVER_LIST}; + extern GDISPVMTLIST GDISP_DRIVER_LIST; + static const GDISPVMT * const dclist[] = {GDISP_DRIVER_LIST}; - for(i = 0; i < sizeof(dclist)/sizeof(dclist[0]); i++) + for(i = 0; i < sizeof(dclist)/sizeof(dclist[0]); i++) { if (!(dclist[i]->d.flags & GDISP_VFLG_DYNAMICONLY)) gdriverRegister(&dclist[i]->d, 0); + } } #elif GDISP_TOTAL_DISPLAYS > 1 { unsigned i; - extern GDISPVMTLIST GDISPVMT_OnlyOne; + extern const GDISPVMT const GDISPVMT_OnlyOne[1]; if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY)) { for(i = 0; i < GDISP_TOTAL_DISPLAYS; i++) @@ -582,7 +582,7 @@ void _gdispInit(void) } #else { - extern GDISPVMTLIST GDISPVMT_OnlyOne; + extern const GDISPVMT const GDISPVMT_OnlyOne[1]; if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY)) gdriverRegister(&GDISPVMT_OnlyOne->d, 0); diff --git a/src/ginput/ginput_keyboard.c b/src/ginput/ginput_keyboard.c index eac2e9e0..cdbe52a6 100644 --- a/src/ginput/ginput_keyboard.c +++ b/src/ginput/ginput_keyboard.c @@ -457,16 +457,15 @@ static void KeyboardPoll(void *param) { } } -typedef const GKeyboardVMT const GKEYBOARDVMTLIST[]; - void _gkeyboardInit(void) { // GINPUT_KEYBOARD_DRIVER_LIST is defined - create each driver instance #if defined(GINPUT_KEYBOARD_DRIVER_LIST) { int i; + typedef const GKeyboardVMT const GKEYBOARDVMTLIST[1]; - extern GKEYBOARDVMTLIST GINPUT_KEYBOARD_DRIVER_LIST; - static GKEYBOARDVMTLIST dclist[] = {GINPUT_KEYBOARD_DRIVER_LIST}; + extern GKEYBOARDVMTLIST GINPUT_KEYBOARD_DRIVER_LIST; + static const GKeyboardVMT * const dclist[] = {GINPUT_KEYBOARD_DRIVER_LIST}; for(i = 0; i < sizeof(dclist)/sizeof(dclist[0]); i++) { if (!(dclist[i]->d.flags & GKEYBOARD_VFLG_DYNAMICONLY)) @@ -477,7 +476,7 @@ void _gkeyboardInit(void) { // One and only one mouse #else { - extern GKEYBOARDVMTLIST GKEYBOARDVMT_OnlyOne; + extern const GKeyboardVMT const GKEYBOARDVMT_OnlyOne[1]; if (!(GKEYBOARDVMT_OnlyOne->d.flags & GKEYBOARD_VFLG_DYNAMICONLY)) gdriverRegister(&GKEYBOARDVMT_OnlyOne->d, 0); diff --git a/src/ginput/ginput_mouse.c b/src/ginput/ginput_mouse.c index f88c2ded..fc993646 100644 --- a/src/ginput/ginput_mouse.c +++ b/src/ginput/ginput_mouse.c @@ -623,16 +623,15 @@ static void MousePoll(void *param) { } #endif -typedef const GMouseVMT const GMOUSEVMTLIST[]; - void _gmouseInit(void) { // GINPUT_MOUSE_DRIVER_LIST is defined - create each driver instance #if defined(GINPUT_MOUSE_DRIVER_LIST) { int i; + typedef const GMouseVMT const GMOUSEVMTLIST[1]; - extern GMOUSEVMTLIST GINPUT_MOUSE_DRIVER_LIST; - static GMOUSEVMTLIST dclist[] = {GINPUT_MOUSE_DRIVER_LIST}; + extern GMOUSEVMTLIST GINPUT_MOUSE_DRIVER_LIST; + static const GMouseVMT * const dclist[] = {GINPUT_MOUSE_DRIVER_LIST}; for(i = 0; i < sizeof(dclist)/sizeof(dclist[0]); i++) { if (!(dclist[i]->d.flags & GMOUSE_VFLG_DYNAMICONLY)) @@ -643,7 +642,7 @@ void _gmouseInit(void) { // One and only one mouse #else { - extern GMOUSEVMTLIST GMOUSEVMT_OnlyOne; + extern const GMouseVMT const GMOUSEVMT_OnlyOne[1]; if (!(GMOUSEVMT_OnlyOne->d.flags & GMOUSE_VFLG_DYNAMICONLY)) gdriverRegister(&GMOUSEVMT_OnlyOne->d, GDISP);