summaryrefslogtreecommitdiff
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
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...
-rw-r--r--src/gpt-auto-generator/gpt-auto-generator.c2
-rw-r--r--src/journal/journal-internal.h2
-rw-r--r--src/shared/fdset.h2
-rw-r--r--src/shared/set.h4
-rw-r--r--src/shared/strv.h2
-rw-r--r--src/shared/udev-util.h10
-rw-r--r--src/shared/util.h19
-rw-r--r--src/tmpfiles/tmpfiles.c2
8 files changed, 22 insertions, 21 deletions
diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c
index b6f6a74a22..fae4b7112c 100644
--- a/src/gpt-auto-generator/gpt-auto-generator.c
+++ b/src/gpt-auto-generator/gpt-auto-generator.c
@@ -54,7 +54,7 @@
static const char *arg_dest = "/tmp";
-define_trivial_cleanup_func(blkid_probe, blkid_free_probe)
+DEFINE_TRIVIAL_CLEANUP_FUNC(blkid_probe, blkid_free_probe);
#define _cleanup_blkid_freep_probe_ _cleanup_(blkid_free_probep)
static int verify_gpt_partition(const char *node, sd_id128_t *type, unsigned *nr, char **fstype) {
diff --git a/src/journal/journal-internal.h b/src/journal/journal-internal.h
index 1bc912c977..3355fca6b8 100644
--- a/src/journal/journal-internal.h
+++ b/src/journal/journal-internal.h
@@ -135,7 +135,7 @@ struct sd_journal {
char *journal_make_match_string(sd_journal *j);
void journal_print_header(sd_journal *j);
-define_trivial_cleanup_func(sd_journal*, sd_journal_close)
+DEFINE_TRIVIAL_CLEANUP_FUNC(sd_journal*, sd_journal_close);
#define _cleanup_journal_close_ _cleanup_(sd_journal_closep)
#define JOURNAL_FOREACH_DATA_RETVAL(j, data, l, retval) \
diff --git a/src/shared/fdset.h b/src/shared/fdset.h
index 6277e464d8..907acd76dd 100644
--- a/src/shared/fdset.h
+++ b/src/shared/fdset.h
@@ -49,5 +49,5 @@ int fdset_iterate(FDSet *s, Iterator *i);
#define FDSET_FOREACH(fd, fds, i) \
for ((i) = ITERATOR_FIRST, (fd) = fdset_iterate((fds), &(i)); (fd) >= 0; (fd) = fdset_iterate((fds), &(i)))
-define_trivial_cleanup_func(FDSet*, fdset_free)
+DEFINE_TRIVIAL_CLEANUP_FUNC(FDSet*, fdset_free);
#define _cleanup_fdset_free_ _cleanup_(fdset_freep)
diff --git a/src/shared/set.h b/src/shared/set.h
index a291470c19..5612478d4e 100644
--- a/src/shared/set.h
+++ b/src/shared/set.h
@@ -73,7 +73,7 @@ char **set_get_strv(Set *s);
#define SET_FOREACH_BACKWARDS(e, s, i) \
for ((i) = ITERATOR_LAST, (e) = set_iterate_backwards((s), &(i)); (e); (e) = set_iterate_backwards((s), &(i)))
-define_trivial_cleanup_func(Set*, set_free)
-define_trivial_cleanup_func(Set*, set_free_free)
+DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free);
+DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free);
#define _cleanup_set_free_ _cleanup_(set_freep)
#define _cleanup_set_free_free_ _cleanup_(set_free_freep)
diff --git a/src/shared/strv.h b/src/shared/strv.h
index 4d117f82c5..f6fb033a8c 100644
--- a/src/shared/strv.h
+++ b/src/shared/strv.h
@@ -30,7 +30,7 @@ char *strv_find(char **l, const char *name) _pure_;
char *strv_find_prefix(char **l, const char *name) _pure_;
void strv_free(char **l);
-define_trivial_cleanup_func(char**, strv_free)
+DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free);
#define _cleanup_strv_free_ _cleanup_(strv_freep)
char **strv_copy(char * const *l);
diff --git a/src/shared/udev-util.h b/src/shared/udev-util.h
index bff8f5fbf7..27677af876 100644
--- a/src/shared/udev-util.h
+++ b/src/shared/udev-util.h
@@ -24,11 +24,11 @@
#include "udev.h"
#include "util.h"
-define_trivial_cleanup_func(struct udev*, udev_unref)
-define_trivial_cleanup_func(struct udev_device*, udev_device_unref)
-define_trivial_cleanup_func(struct udev_enumerate*, udev_enumerate_unref)
-define_trivial_cleanup_func(struct udev_event*, udev_event_unref)
-define_trivial_cleanup_func(struct udev_rules*, udev_rules_unref)
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev*, udev_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_device*, udev_device_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_enumerate*, udev_enumerate_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_event*, udev_event_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(struct udev_rules*, udev_rules_unref);
#define _cleanup_udev_unref_ _cleanup_(udev_unrefp)
#define _cleanup_udev_device_unref_ _cleanup_(udev_device_unrefp)
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)
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
index 42cc34d6c4..3cc831a28e 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -995,7 +995,7 @@ static void item_free(Item *i) {
free(i);
}
-define_trivial_cleanup_func(Item*, item_free)
+DEFINE_TRIVIAL_CLEANUP_FUNC(Item*, item_free);
#define _cleanup_item_free_ _cleanup_(item_freep)
static bool item_equal(Item *a, Item *b) {