fix: use memcpy to prevent memory alignment error

This commit is contained in:
Bas Stottelaar
2026-03-01 22:22:43 +01:00
parent 3cac0da0c9
commit acd6667d45
+4 -3
View File
@@ -8,6 +8,7 @@
#endif
#include <assert.h>
#include <stdio.h>
#include <string.h>
//#define HEIGHT (64)
//#define WIDTH 128
@@ -36,7 +37,7 @@ int u8g_sdl_height, u8g_sdl_width;
static void u8g_sdl_set_pixel(int x, int y, int idx)
{
uint32_t *ptr;
uint8_t *ptr;
uint32_t offset;
int i, j;
@@ -59,8 +60,8 @@ static void u8g_sdl_set_pixel(int x, int y, int idx)
assert( offset < (Uint32)(u8g_sdl_width * u8g_sdl_multiple * u8g_sdl_height * u8g_sdl_multiple * u8g_sdl_screen->format->BytesPerPixel) );
ptr = (uint32_t *)(((uint8_t *)(u8g_sdl_screen->pixels)) + offset);
*ptr = u8g_sdl_color[idx];
ptr = ((uint8_t *)(u8g_sdl_screen->pixels)) + offset;
memcpy(ptr, &u8g_sdl_color[idx], sizeof(u8g_sdl_color[idx]));
#endif
}
}