diff --git a/include/stringop.h b/include/stringop.h index dde50f13..f9f3130c 100644 --- a/include/stringop.h +++ b/include/stringop.h @@ -2,6 +2,11 @@ #define _SWAY_STRINGOP_H #include "list.h" +#if !HAVE_DECL_SETENV +// Not sure why we need to provide this +extern int setenv(const char *, const char *, int); +#endif + // array of whitespace characters to use for delims extern const char *whitespace; diff --git a/sway/commands.c b/sway/commands.c index 71eb9d70..68bdff2c 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include diff --git a/sway/container.c b/sway/container.c index ef0e6c55..85b169a1 100644 --- a/sway/container.c +++ b/sway/container.c @@ -1,7 +1,9 @@ #include #include #include +#include #include "config.h" +#include "stringop.h" #include "container.h" #include "workspace.h" #include "focus.h" diff --git a/sway/log.c b/sway/log.c index cf5c2092..a6582172 100644 --- a/sway/log.c +++ b/sway/log.c @@ -80,9 +80,7 @@ void sway_log_errno(log_importance_t verbosity, char* format, ...) { va_end(args); fprintf(stderr, ": "); - char error[256]; - strerror_r(errno, error, sizeof(error)); - fprintf(stderr, "%s", error); + fprintf(stderr, "%s", strerror(errno)); if (colored && isatty(STDERR_FILENO)) { fprintf(stderr, "\x1B[0m"); diff --git a/sway/main.c b/sway/main.c index 97243f99..66921184 100644 --- a/sway/main.c +++ b/sway/main.c @@ -7,6 +7,7 @@ #include #include #include "layout.h" +#include "stringop.h" #include "config.h" #include "log.h" #include "readline.h" diff --git a/sway/stringop.c b/sway/stringop.c index 191e40c8..7a2c8317 100644 --- a/sway/stringop.c +++ b/sway/stringop.c @@ -311,3 +311,11 @@ char *join_list(list_t *list, char *separator) { return res; } + +char *strdup(const char *str) { + char *dup = malloc(strlen(str) + 1); + if (dup) { + strcpy(dup, str); + } + return dup; +} diff --git a/sway/workspace.c b/sway/workspace.c index 658f79bc..c169c1cb 100644 --- a/sway/workspace.c +++ b/sway/workspace.c @@ -2,6 +2,7 @@ #include #include #include +#include #include "workspace.h" #include "layout.h" #include "list.h"