diff options
| -rw-r--r-- | examples/cat.c | 9 | ||||
| -rw-r--r-- | examples/cat.h | 2 | ||||
| -rw-r--r-- | examples/rotation.c | 2 | ||||
| -rw-r--r-- | include/render/gles2.h | 3 | ||||
| -rw-r--r-- | session/direct-ipc.c | 10 | 
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; | 
