diff --git a/glnx-fdio.h b/glnx-fdio.h index 688eeb252747218ee39c355f4c1661de7b556450..19f938c719f868cf1cfba82f4701572accb48a0c 100644 --- a/glnx-fdio.h +++ b/glnx-fdio.h @@ -26,9 +26,24 @@ #include <sys/stat.h> #include <fcntl.h> #include <attr/xattr.h> +/* From systemd/src/shared/util.h */ +/* When we include libgen.h because we need dirname() we immediately + * undefine basename() since libgen.h defines it as a macro to the XDG + * version which is really broken. */ +#include <libgen.h> +#undef basename G_BEGIN_DECLS +/* Irritatingly, g_basename() which is what we want + * is deprecated. + */ +static inline +const char *glnx_basename (const char *path) +{ + return (basename) (path); +} + GBytes * glnx_fd_readall_bytes (int fd, GCancellable *cancellable,