aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/cat.c9
-rw-r--r--examples/cat.h2
-rw-r--r--examples/rotation.c2
-rw-r--r--include/render/gles2.h3
-rw-r--r--session/direct-ipc.c10
5 files changed, 15 insertions, 11 deletions
diff --git a/examples/cat.c b/examples/cat.c
index 0a4dba9e..cc1403d8 100644
--- a/examples/cat.c
+++ b/examples/cat.c
@@ -1,11 +1,8 @@
/* GIMP RGBA C-Source image dump (cat.c) */
-const struct {
- unsigned int width;
- unsigned int height;
- unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
- unsigned char pixel_data[128 * 128 * 4 + 1];
-} cat_tex = {
+#include "cat.h"
+
+const struct gimp_texture cat_tex = {
128, 128, 4,
"[\227\017\377L\206\001\377M\212\002\377T\227\011\377V\231\010\377W\224\001\377[\222"
"\001\377T\212\001\377P\211\001\377M\203\001\377P\212\001\377Q\217\001\377K\210\001\377"
diff --git a/examples/cat.h b/examples/cat.h
index 6db307fd..46dc50f6 100644
--- a/examples/cat.h
+++ b/examples/cat.h
@@ -5,7 +5,7 @@ struct gimp_texture {
unsigned int width;
unsigned int height;
unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
- unsigned char pixel_data[128 * 128 * 3 + 1];
+ unsigned char pixel_data[128 * 128 * 4 + 1];
};
extern const struct gimp_texture cat_tex;
diff --git a/examples/rotation.c b/examples/rotation.c
index 1b75ccaf..36e95f50 100644
--- a/examples/rotation.c
+++ b/examples/rotation.c
@@ -192,7 +192,7 @@ static void parse_args(int argc, char *argv[], struct wl_list *config) {
}
int main(int argc, char *argv[]) {
- struct sample_state state = { 0 };
+ struct sample_state state = {0};
wl_list_init(&state.config);
parse_args(argc, argv, &state.config);
diff --git a/include/render/gles2.h b/include/render/gles2.h
index 7b835209..e57d40f4 100644
--- a/include/render/gles2.h
+++ b/include/render/gles2.h
@@ -5,6 +5,7 @@
#include <stdbool.h>
#include <GLES2/gl2.h>
#include <wlr/render.h>
+#include <wlr/util/log.h>
struct pixel_format {
uint32_t wl_format;
@@ -41,7 +42,7 @@ extern const GLchar fragment_src_rgbx[];
bool _gles2_flush_errors(const char *file, int line);
#define gles2_flush_errors(...) \
- _gles2_flush_errors(__FILE__ + strlen(WLR_SRC_DIR) + 1, __LINE__)
+ _gles2_flush_errors(_strip_path(__FILE__), __LINE__)
#define GL_CALL(func) func; gles2_flush_errors()
diff --git a/session/direct-ipc.c b/session/direct-ipc.c
index fbbde02a..885662e0 100644
--- a/session/direct-ipc.c
+++ b/session/direct-ipc.c
@@ -1,6 +1,8 @@
#define _POSIX_C_SOURCE 200809L
#include <errno.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/socket.h>
@@ -62,7 +64,7 @@ static void send_msg(int sock, int fd, void *buf, size_t buf_len) {
.cmsg_type = SCM_RIGHTS,
.cmsg_len = CMSG_LEN(sizeof(fd)),
};
- *(int *)CMSG_DATA(cmsg) = fd;
+ memcpy(CMSG_DATA(cmsg), &fd, sizeof(fd));
}
ssize_t ret;
@@ -93,7 +95,11 @@ static ssize_t recv_msg(int sock, int *fd_out, void *buf, size_t buf_len) {
if (fd_out) {
struct cmsghdr *cmsg = CMSG_FIRSTHDR(&msghdr);
- *fd_out = cmsg ? *(int *)CMSG_DATA(cmsg) : -1;
+ if (cmsg) {
+ memcpy(fd_out, CMSG_DATA(cmsg), sizeof(*fd_out));
+ } else {
+ *fd_out = -1;
+ }
}
return ret;