commit 9aed9d93596cdc72e305338d82ccc0dcaf85c6e2 parent 74d4f1bec9a70bc800ecd7b15c9c6c0d7a5ce918 Author: Drew DeVault <sir@cmpwn.com> Date: Fri, 10 Mar 2017 23:41:24 -0500 UnGNUify the codebase Diffstat:
84 files changed, 123 insertions(+), 33 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -7,9 +7,6 @@ set(CMAKE_C_STANDARD 99) set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) -add_definitions( - -D_GNU_SOURCE - ) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-parameter") @@ -70,14 +67,6 @@ find_package(PAM) find_package(LibInput REQUIRED) -find_package(Backtrace) -if(Backtrace_FOUND) - include_directories("${Backtrace_INCLUDE_DIRS}") - add_definitions(-DSWAY_Backtrace_FOUND=1) - set(LINK_LIBRARIES, "${LINK_LIBRARIES} ${Backtrace_LIBRARIES}") - set(SWAY_Backtrace_HEADER "${Backtrace_HEADER}") -endif() - if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) find_package(EpollShim REQUIRED) endif (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt @@ -13,10 +13,3 @@ add_library(sway-common STATIC ) target_link_libraries(sway-common m) - -if(Backtrace_FOUND) - set_target_properties(sway-common - PROPERTIES - COMPILE_FLAGS "-include ${Backtrace_HEADER}" - ) -endif() diff --git a/common/ipc-client.c b/common/ipc-client.c @@ -1,5 +1,6 @@ -#include <stdint.h> +#define _POSIX_C_SOURCE 2 #include <stdio.h> +#include <stdint.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> diff --git a/common/log.c b/common/log.c @@ -1,3 +1,4 @@ +#define _POSIX_C_SOURCE 1 #include <errno.h> #include <libgen.h> #include <signal.h> diff --git a/common/stringop.c b/common/stringop.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <stdio.h> #include <string.h> diff --git a/common/util.c b/common/util.c @@ -3,6 +3,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <wlc/wlc.h> #include <xkbcommon/xkbcommon-names.h> #include "log.h" diff --git a/sway/commands.c b/sway/commands.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <xkbcommon/xkbcommon.h> #include <xkbcommon/xkbcommon-names.h> #include <wlc/wlc.h> diff --git a/sway/commands/assign.c b/sway/commands/assign.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdio.h> #include <string.h> #include "sway/commands.h" diff --git a/sway/commands/bar.c b/sway/commands/bar.c @@ -1,5 +1,6 @@ #include <stdio.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "log.h" diff --git a/sway/commands/bar/binding_mode_indicator.c b/sway/commands/bar/binding_mode_indicator.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/hidden_state.c b/sway/commands/bar/hidden_state.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "sway/ipc-server.h" diff --git a/sway/commands/bar/id.c b/sway/commands/bar/id.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/mode.c b/sway/commands/bar/mode.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "sway/ipc-server.h" diff --git a/sway/commands/bar/output.c b/sway/commands/bar/output.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include "sway/commands.h" #include "list.h" diff --git a/sway/commands/bar/pango_markup.c b/sway/commands/bar/pango_markup.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/position.c b/sway/commands/bar/position.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/separator_symbol.c b/sway/commands/bar/separator_symbol.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/strip_workspace_numbers.c b/sway/commands/bar/strip_workspace_numbers.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/tray_padding.c b/sway/commands/bar/tray_padding.c @@ -1,5 +1,6 @@ #include <stdlib.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/workspace_buttons.c b/sway/commands/bar/workspace_buttons.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/bar/wrap_scroll.c b/sway/commands/bar/wrap_scroll.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/border.c b/sway/commands/border.c @@ -1,6 +1,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" #include "sway/focus.h" diff --git a/sway/commands/debuglog.c b/sway/commands/debuglog.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include <sys/wait.h> #include <unistd.h> diff --git a/sway/commands/floating.c b/sway/commands/floating.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" #include "sway/ipc-server.h" diff --git a/sway/commands/floating_mod.c b/sway/commands/floating_mod.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input_state.h" #include "list.h" diff --git a/sway/commands/floating_scroll.c b/sway/commands/floating_scroll.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" #include "stringop.h" diff --git a/sway/commands/focus.c b/sway/commands/focus.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include <wlc/wlc.h> #include "sway/commands.h" #include "sway/container.h" diff --git a/sway/commands/focus_follows_mouse.c b/sway/commands/focus_follows_mouse.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_focus_follows_mouse(int argc, char **argv) { diff --git a/sway/commands/font.c b/sway/commands/font.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include "sway/border.h" #include "sway/commands.h" diff --git a/sway/commands/for_window.c b/sway/commands/for_window.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <string.h> #include "sway/commands.h" #include "sway/criteria.h" diff --git a/sway/commands/force_focus_wrapping.c b/sway/commands/force_focus_wrapping.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_force_focus_wrapping(int argc, char **argv) { diff --git a/sway/commands/gaps.c b/sway/commands/gaps.c @@ -2,6 +2,7 @@ #include <errno.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" #include "sway/focus.h" diff --git a/sway/commands/hide_edge_borders.c b/sway/commands/hide_edge_borders.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_hide_edge_borders(int argc, char **argv) { diff --git a/sway/commands/input.c b/sway/commands/input.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" #include "log.h" diff --git a/sway/commands/input/accel_profile.c b/sway/commands/input/accel_profile.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/click_method.c b/sway/commands/input/click_method.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" #include "log.h" diff --git a/sway/commands/input/drag_lock.c b/sway/commands/input/drag_lock.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/dwt.c b/sway/commands/input/dwt.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/events.c b/sway/commands/input/events.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" #include "log.h" diff --git a/sway/commands/input/left_handed.c b/sway/commands/input/left_handed.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/middle_emulation.c b/sway/commands/input/middle_emulation.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/natural_scroll.c b/sway/commands/input/natural_scroll.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/scroll_method.c b/sway/commands/input/scroll_method.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" diff --git a/sway/commands/input/tap.c b/sway/commands/input/tap.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/input.h" #include "log.h" diff --git a/sway/commands/layout.c b/sway/commands/layout.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" #include "sway/layout.h" diff --git a/sway/commands/log_colors.c b/sway/commands/log_colors.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "log.h" diff --git a/sway/commands/mode.c b/sway/commands/mode.c @@ -1,5 +1,7 @@ +#define _XOPEN_SOURCE 500 #include <stdbool.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "sway/ipc-server.h" diff --git a/sway/commands/mouse_warping.c b/sway/commands/mouse_warping.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_mouse_warping(int argc, char **argv) { diff --git a/sway/commands/move.c b/sway/commands/move.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include <wlc/wlc.h> #include "sway/commands.h" #include "sway/container.h" diff --git a/sway/commands/new_float.c b/sway/commands/new_float.c @@ -1,5 +1,6 @@ #include <errno.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" diff --git a/sway/commands/new_window.c b/sway/commands/new_window.c @@ -1,5 +1,6 @@ #include <errno.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/container.h" diff --git a/sway/commands/orientation.c b/sway/commands/orientation.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_orientation(int argc, char **argv) { diff --git a/sway/commands/output.c b/sway/commands/output.c @@ -1,7 +1,9 @@ +#define _XOPEN_SOURCE 500 #include <ctype.h> #include <libgen.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <unistd.h> #include <wordexp.h> #include "sway/commands.h" diff --git a/sway/commands/resize.c b/sway/commands/resize.c @@ -3,6 +3,7 @@ #include <stdbool.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <wlc/wlc.h> #include "sway/commands.h" #include "sway/layout.h" diff --git a/sway/commands/scratchpad.c b/sway/commands/scratchpad.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include <wlc/wlc.h> #include "sway/commands.h" #include "sway/container.h" diff --git a/sway/commands/seamless_mouse.c b/sway/commands/seamless_mouse.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_seamless_mouse(int argc, char **argv) { diff --git a/sway/commands/set.c b/sway/commands/set.c @@ -1,5 +1,7 @@ +#define _XOPEN_SOURCE 500 #include <stdio.h> #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "list.h" @@ -14,7 +16,6 @@ static int compare_set_qsort(const void *_l, const void *_r) { struct cmd_results *cmd_set(int argc, char **argv) { char *tmp; - int size; struct cmd_results *error = NULL; if (!config->reading) return cmd_results_new(CMD_FAILURE, "set", "Can only be used in config file."); if ((error = checkarg(argc, "set", EXPECTED_AT_LEAST, 2))) { @@ -24,13 +25,14 @@ struct cmd_results *cmd_set(int argc, char **argv) { if (argv[0][0] != '$') { sway_log(L_INFO, "Warning: variable '%s' doesn't start with $", argv[0]); - size = asprintf(&tmp, "%s%s", "$", argv[0]); - if (size == -1) { + size_t size = snprintf(NULL, 0, "$%s", argv[0]); + tmp = malloc(size + 1); + if (!tmp) { return cmd_results_new(CMD_FAILURE, "set", "Not possible to create variable $'%s'", argv[0]); } + snprintf(tmp, size, "$%s", argv[0]); - argv[0] = strdup(tmp); - free(tmp); + argv[0] = tmp; } struct sway_variable *var = NULL; diff --git a/sway/commands/smart_gaps.c b/sway/commands/smart_gaps.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_smart_gaps(int argc, char **argv) { diff --git a/sway/commands/split.c b/sway/commands/split.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include <wlc/wlc-render.h> #include "sway/border.h" #include "sway/commands.h" diff --git a/sway/commands/workspace.c b/sway/commands/workspace.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <string.h> +#include <strings.h> #include "sway/commands.h" #include "sway/config.h" #include "sway/input_state.h" diff --git a/sway/commands/workspace_auto_back_and_forth.c b/sway/commands/workspace_auto_back_and_forth.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_ws_auto_back_and_forth(int argc, char **argv) { diff --git a/sway/commands/workspace_layout.c b/sway/commands/workspace_layout.c @@ -1,4 +1,5 @@ #include <string.h> +#include <strings.h> #include "sway/commands.h" struct cmd_results *cmd_workspace_layout(int argc, char **argv) { diff --git a/sway/config.c b/sway/config.c @@ -1,3 +1,5 @@ +#define _POSIX_C_SOURCE 200809L +#define _XOPEN_SOURCE 500 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> @@ -12,6 +14,7 @@ #include <limits.h> #include <float.h> #include <dirent.h> +#include <strings.h> #include "wayland-desktop-shell-server-protocol.h" #include "sway/commands.h" #include "sway/config.h" @@ -528,11 +531,13 @@ bool load_main_config(const char *file, bool is_active) { list_t *secconfigs = create_list(); char *base = SYSCONFDIR "/sway/security.d/"; struct dirent *ent = readdir(dir); + struct stat s; while (ent != NULL) { - if (ent->d_type == DT_REG) { - char *_path = malloc(strlen(ent->d_name) + strlen(base) + 1); - strcpy(_path, base); - strcat(_path, ent->d_name); + char *_path = malloc(strlen(ent->d_name) + strlen(base) + 1); + strcpy(_path, base); + strcat(_path, ent->d_name); + lstat(_path, &s); + if (S_ISREG(s.st_mode)) { list_add(secconfigs, _path); } ent = readdir(dir); @@ -542,7 +547,6 @@ bool load_main_config(const char *file, bool is_active) { list_qsort(secconfigs, qstrcmp); for (int i = 0; i < secconfigs->length; ++i) { char *_path = secconfigs->items[i]; - struct stat s; if (stat(_path, &s) || s.st_uid != 0 || s.st_gid != 0 || (s.st_mode & 0777) != 0644) { sway_log(L_ERROR, "Refusing to load %s - it must be owned by root and mode 644", _path); success = false; diff --git a/sway/container.c b/sway/container.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <ctype.h> #include <stdlib.h> #include <stdbool.h> @@ -18,7 +19,6 @@ #define ASSERT_NONNULL(PTR) \ sway_assert (PTR, #PTR "must be non-null") - static swayc_t *new_swayc(enum swayc_types type) { // next id starts at 1 because 0 is assigned to root_container in layout.c static size_t next_id = 1; diff --git a/sway/criteria.c b/sway/criteria.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <stdio.h> #include <stdbool.h> diff --git a/sway/handlers.c b/sway/handlers.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <xkbcommon/xkbcommon.h> +#include <strings.h> #include <stdlib.h> #include <stdbool.h> #include <libinput.h> diff --git a/sway/input.c b/sway/input.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <ctype.h> #include <float.h> #include <limits.h> diff --git a/sway/ipc-server.c b/sway/ipc-server.c @@ -13,6 +13,13 @@ #include <json-c/json.h> #include <list.h> #include <libinput.h> +#ifdef __linux__ +struct ucred { + pid_t pid; + uid_t uid; + gid_t gid; +}; +#endif #include "sway/ipc-json.h" #include "sway/ipc-server.h" #include "sway/security.h" diff --git a/sway/layout.c b/sway/layout.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <stdbool.h> #include <math.h> diff --git a/sway/main.c b/sway/main.c @@ -1,3 +1,5 @@ +#define _XOPEN_SOURCE 500 +#define _POSIX_C_SOURCE 200112L #include <stdio.h> #include <stdlib.h> #include <stdbool.h> diff --git a/sway/security.c b/sway/security.c @@ -1,3 +1,5 @@ +#define _XOPEN_SOURCE 500 +#include <string.h> #include <unistd.h> #include <stdio.h> #include "sway/config.h" diff --git a/sway/workspace.c b/sway/workspace.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <stdbool.h> #include <limits.h> diff --git a/swaybar/bar.c b/swaybar/bar.c @@ -1,9 +1,11 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <unistd.h> #include <string.h> #include <fcntl.h> #include <errno.h> #include <sys/wait.h> +#include <signal.h> #include <poll.h> #include "swaybar/ipc.h" #include "swaybar/render.h" diff --git a/swaybar/config.c b/swaybar/config.c @@ -1,6 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <string.h> - #include "wayland-desktop-shell-client-protocol.h" #include "log.h" #include "swaybar/config.h" diff --git a/swaybar/ipc.c b/swaybar/ipc.c @@ -1,4 +1,6 @@ +#define _XOPEN_SOURCE 500 #include <string.h> +#include <strings.h> #include <json-c/json.h> #include "swaybar/config.h" #include "swaybar/ipc.h" diff --git a/swaybar/main.c b/swaybar/main.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdio.h> #include <stdlib.h> #include <string.h> diff --git a/swaybar/status_line.c b/swaybar/status_line.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <stdlib.h> #include <string.h> #include <unistd.h> diff --git a/swaygrab/json.c b/swaygrab/json.c @@ -1,3 +1,5 @@ +#define _XOPEN_SOURCE 500 +#include <string.h> #include <stdio.h> #include <stdbool.h> #include <stdlib.h> diff --git a/swaygrab/main.c b/swaygrab/main.c @@ -1,3 +1,5 @@ +#define _XOPEN_SOURCE 500 +#define _POSIX_C_SOURCE 199309L #include <stdio.h> #include <stdbool.h> #include <stdlib.h> diff --git a/swaylock/main.c b/swaylock/main.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include "wayland-swaylock-client-protocol.h" #include <xkbcommon/xkbcommon.h> #include <xkbcommon/xkbcommon-names.h> @@ -460,12 +461,16 @@ int main(int argc, char **argv) { case 'u': show_indicator = false; break; - case 'f': - if (daemon(0, 0) != 0) { + case 'f': { + pid_t t = fork(); + if (t == -1) { sway_log(L_ERROR, "daemon call failed"); exit(EXIT_FAILURE); + } else if (t > 0) { + exit(0); } break; + } case 'r': if (line_source != LINE_SOURCE_DEFAULT) { sway_log(L_ERROR, "line source options conflict"); diff --git a/swaymsg/main.c b/swaymsg/main.c @@ -1,6 +1,8 @@ +#define _XOPEN_SOURCE 500 #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <getopt.h> #include <stdint.h> #include <sys/un.h> diff --git a/wayland/buffers.c b/wayland/buffers.c @@ -1,3 +1,4 @@ +#define _XOPEN_SOURCE 500 #include <wayland-client.h> #include <cairo/cairo.h> #include <pango/pangocairo.h> diff --git a/wayland/registry.c b/wayland/registry.c @@ -4,6 +4,7 @@ #include <string.h> #include <unistd.h> #include <sys/mman.h> +#include <sys/types.h> #include <sys/timerfd.h> #include "wayland-desktop-shell-client-protocol.h" #include "wayland-swaylock-client-protocol.h"