Add glnx_basename()

We have to wrap the glibc version to ensure we get the right version,
otherwise depending on the variance of includes we may end up crashing
if we get the POSIX version.
This commit is contained in:
Colin Walters
2015-03-05 09:02:48 -05:00
parent a11b2eb20a
commit 175502e5be

View File

@@ -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,