chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util: add hexmem() and strextend() calls
[elogind.git]
/
src
/
shared
/
macro.h
diff --git
a/src/shared/macro.h
b/src/shared/macro.h
index 700171b8324e45bc2b4c48e1b01b5c8e486ff4ef..80cb2f0892f9a2d41ae9918cb5644e99e6bca3f6 100644
(file)
--- a/
src/shared/macro.h
+++ b/
src/shared/macro.h
@@
-92,6
+92,7
@@
static inline size_t ALIGN_TO(size_t l, size_t ali) {
#define MIN3(a,b,c) \
MIN(MIN(a,b),c)
#define MIN3(a,b,c) \
MIN(MIN(a,b),c)
+#ifndef CLAMP
#define CLAMP(x, low, high) \
__extension__ ({ \
typeof(x) _x = (x); \
#define CLAMP(x, low, high) \
__extension__ ({ \
typeof(x) _x = (x); \
@@
-99,6
+100,7
@@
static inline size_t ALIGN_TO(size_t l, size_t ali) {
typeof(high) _high = (high); \
((_x > _high) ? _high : ((_x < _low) ? _low : _x)); \
})
typeof(high) _high = (high); \
((_x > _high) ? _high : ((_x < _low) ? _low : _x)); \
})
+#endif
#define assert_se(expr) \
do { \
#define assert_se(expr) \
do { \
@@
-156,6
+158,8
@@
static inline size_t ALIGN_TO(size_t l, size_t ali) {
#define memzero(x,l) (memset((x), 0, (l)))
#define zero(x) (memzero(&(x), sizeof(x)))
#define memzero(x,l) (memset((x), 0, (l)))
#define zero(x) (memzero(&(x), sizeof(x)))
+#define CHAR_TO_STR(x) ((char[2]) { x, 0 })
+
#define char_array_0(x) x[sizeof(x)-1] = 0;
#define IOVEC_SET_STRING(i, s) \
#define char_array_0(x) x[sizeof(x)-1] = 0;
#define IOVEC_SET_STRING(i, s) \
@@
-196,10
+200,14
@@
static inline size_t IOVEC_INCREMENT(struct iovec *i, unsigned n, size_t k) {
#define _cleanup_free_ __attribute__((cleanup(freep)))
#define _cleanup_fclose_ __attribute__((cleanup(fclosep)))
#define _cleanup_free_ __attribute__((cleanup(freep)))
#define _cleanup_fclose_ __attribute__((cleanup(fclosep)))
+#define _cleanup_pclose_ __attribute__((cleanup(pclosep)))
#define _cleanup_close_ __attribute__((cleanup(closep)))
#define _cleanup_closedir_ __attribute__((cleanup(closedirp)))
#define _cleanup_umask_ __attribute__((cleanup(umaskp)))
#define _cleanup_close_ __attribute__((cleanup(closep)))
#define _cleanup_closedir_ __attribute__((cleanup(closedirp)))
#define _cleanup_umask_ __attribute__((cleanup(umaskp)))
+#define _cleanup_set_free_ __attribute__((cleanup(set_freep)))
+#define _cleanup_set_free_free_ __attribute__((cleanup(set_free_freep)))
#define _cleanup_strv_free_ __attribute__((cleanup(strv_freep)))
#define _cleanup_strv_free_ __attribute__((cleanup(strv_freep)))
+#define _cleanup_journal_close_ __attribute__((cleanup(journal_closep)))
#define VA_FORMAT_ADVANCE(format, ap) \
do { \
#define VA_FORMAT_ADVANCE(format, ap) \
do { \