summaryrefslogtreecommitdiff
path: root/src/shared/util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-10-14 04:59:26 +0200
committerLennart Poettering <lennart@poettering.net>2013-10-14 06:11:19 +0200
commit14bf2c9d375db6a4670bc0ef0e521e35a939a498 (patch)
tree704fdf5312e54dc1231eecbadc90df3f15b33096 /src/shared/util.h
parent416446221d905b6815175dc4d525d27f8ae43d1b (diff)
util: allow trailing semicolons on define_trivial_cleanup_func lines
Emacs C indenting really gets confused by these lines if they carry no trailing semicolon, hence let's make this nicer for good old emacs. The other macros which define functions already do this too, so let's copy the scheme here. Also, let's use an uppercase name for the macro. So far our rough rule was that macros that are totally not function-like (like this ones, which define a function) are uppercase. (Well, admittedly it is a rough rule only, for example function and variable decorators are all lower-case SINCE THE CONSTANT YELLING IN THE SOURCES WOULD SUCK, and also they at least got underscore prefixes.) Also, the macros that define functions that we already have are all uppercase, so let's do the same here...
Diffstat (limited to 'src/shared/util.h')
-rw-r--r--src/shared/util.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/shared/util.h b/src/shared/util.h
index 99a138cd8e..86b21435b2 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -556,11 +556,12 @@ static inline void freep(void *p) {
free(*(void**) p);
}
-#define define_trivial_cleanup_func(type, func) \
- static inline void func##p(type *p) { \
- if (*p) \
- func(*p); \
- } \
+#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
+ static inline void func##p(type *p) { \
+ if (*p) \
+ func(*p); \
+ } \
+ struct __useless_struct_to_allow_trailing_semicolon__
static inline void closep(int *fd) {
if (*fd >= 0)
@@ -571,10 +572,10 @@ static inline void umaskp(mode_t *u) {
umask(*u);
}
-define_trivial_cleanup_func(FILE*, fclose)
-define_trivial_cleanup_func(FILE*, pclose)
-define_trivial_cleanup_func(DIR*, closedir)
-define_trivial_cleanup_func(FILE*, endmntent)
+DEFINE_TRIVIAL_CLEANUP_FUNC(FILE*, fclose);
+DEFINE_TRIVIAL_CLEANUP_FUNC(FILE*, pclose);
+DEFINE_TRIVIAL_CLEANUP_FUNC(DIR*, closedir);
+DEFINE_TRIVIAL_CLEANUP_FUNC(FILE*, endmntent);
#define _cleanup_free_ _cleanup_(freep)
#define _cleanup_close_ _cleanup_(closep)