ensure command alignment is correct
This commit is contained in:
parent
3f1378ab2e
commit
e313eb0e2e
|
@ -1,6 +1,7 @@
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdalign.h>
|
||||||
|
|
||||||
#include <lauxlib.h>
|
#include <lauxlib.h>
|
||||||
#include "rencache.h"
|
#include "rencache.h"
|
||||||
|
@ -84,6 +85,8 @@ static RenRect merge_rects(RenRect a, RenRect b) {
|
||||||
|
|
||||||
|
|
||||||
static Command* push_command(int type, int size) {
|
static Command* push_command(int type, int size) {
|
||||||
|
size_t alignment = alignof(max_align_t) - 1;
|
||||||
|
size = (size + alignment) & ~alignment;
|
||||||
Command *cmd = (Command*) (command_buf + command_buf_idx);
|
Command *cmd = (Command*) (command_buf + command_buf_idx);
|
||||||
int n = command_buf_idx + size;
|
int n = command_buf_idx + size;
|
||||||
if (n > COMMAND_BUF_SIZE) {
|
if (n > COMMAND_BUF_SIZE) {
|
||||||
|
|
Loading…
Reference in New Issue