summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/util/realpath.c29
-rw-r--r--src/util/replace.h16
2 files changed, 45 insertions, 0 deletions
diff --git a/src/util/realpath.c b/src/util/realpath.c
new file mode 100644
index 0000000..abeebaa
--- /dev/null
+++ b/src/util/realpath.c
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2019 Jon Turney.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
+ * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "src/util/replace.h"
+
+#ifdef WIN32
+char *
+realpath(const char *path, char *resolved_path)
+{
+ return _fullpath(resolved_path, path, _MAX_PATH);
+}
+#endif
diff --git a/src/util/replace.h b/src/util/replace.h
index 1a24820..53a81a2 100644
--- a/src/util/replace.h
+++ b/src/util/replace.h
@@ -57,5 +57,21 @@ extern _X_HIDDEN size_t
strlcat(char *dst, const char *src, size_t siz);
#endif
+#ifndef HAVE_ERR_H
+#define err(eval, ...) do { \
+ fprintf(stderr, __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ exit(eval); \
+ } while (0)
+#define vwarn(...) do { \
+ fprintf(stderr, __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ } while (0)
+#endif
+
+#ifndef HAVE_REALPATH
+extern _X_HIDDEN char *
+realpath(const char *path, char *resolved_path);
+#endif
#endif /* XFONT_REPLACE_H */