diff options
author | Will Thompson <wjt@endlessos.org> | 2023-02-27 11:24:28 +0000 |
---|---|---|
committer | Will Thompson <wjt@endlessos.org> | 2023-02-27 11:24:28 +0000 |
commit | 07e3e49d3e47dfd4265ffb5495111439131715ca (patch) | |
tree | 25f3c4e0e0dd4244b87ddcff3715e465287f5a79 /glnx-local-alloc.h | |
parent | 4e44fd9c174e4196a86fb6d954722feaff612c88 (diff) | |
parent | ea18312ed03e0077740e327966a8e0e5810d7f5b (diff) | |
download | libglnx-07e3e49d3e47dfd4265ffb5495111439131715ca.tar.gz |
backports: Add g_steal_fd, from GLib >= 2.70
See merge request GNOME/libglnx!47
Diffstat (limited to 'glnx-local-alloc.h')
-rw-r--r-- | glnx-local-alloc.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/glnx-local-alloc.h b/glnx-local-alloc.h index 615b954..65ae747 100644 --- a/glnx-local-alloc.h +++ b/glnx-local-alloc.h @@ -24,6 +24,8 @@ #include <gio/gio.h> #include <errno.h> +#include "glnx-backports.h" + G_BEGIN_DECLS /** @@ -43,19 +45,14 @@ glnx_local_obj_unref (void *v) } #define glnx_unref_object __attribute__ ((cleanup(glnx_local_obj_unref))) -static inline int -glnx_steal_fd (int *fdp) -{ - int fd = *fdp; - *fdp = -1; - return fd; -} +/* Backwards-compat with older libglnx */ +#define glnx_steal_fd g_steal_fd /** * glnx_close_fd: * @fdp: Pointer to fd * - * Effectively `close (glnx_steal_fd (&fd))`. Also + * Effectively `close (g_steal_fd (&fd))`. Also * asserts that `close()` did not raise `EBADF` - encountering * that error is usually a critical bug in the program. */ @@ -66,7 +63,7 @@ glnx_close_fd (int *fdp) g_assert (fdp); - int fd = glnx_steal_fd (fdp); + int fd = g_steal_fd (fdp); if (fd >= 0) { errsv = errno; |