From 81e379e650d0cf84abe2b8821d06afb80569c3af Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mar 16 2021 04:19:36 +0000 Subject: journal: use cleanup attribute at one more place (cherry picked from commit 627df1dc42b68a74b0882b06366d1185b1a34332) Conflicts: src/journal/journald-server.c Related: #1788085 patch_name: 0319-journal-use-cleanup-attribute-at-one-more-place.patch present_in_specfile: true location_in_specfile: 319 squash_commits: true --- diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h index cd8a48a..6a44fd3 100644 --- a/src/journal/journal-file.h +++ b/src/journal/journal-file.h @@ -144,6 +144,7 @@ int journal_file_open( int journal_file_set_offline(JournalFile *f, bool wait); bool journal_file_is_offlining(JournalFile *f); JournalFile* journal_file_close(JournalFile *j); +DEFINE_TRIVIAL_CLEANUP_FUNC(JournalFile*, journal_file_close); int journal_file_open_reliably( const char *fname, diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 6250eab..7632e2d 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -253,8 +253,9 @@ static int open_journal( bool seal, JournalMetrics *metrics, JournalFile **ret) { + + _cleanup_(journal_file_closep) JournalFile *f = NULL; int r; - JournalFile *f; assert(s); assert(fname); @@ -271,12 +272,10 @@ static int open_journal( return r; r = journal_file_enable_post_change_timer(f, s->event, POST_CHANGE_TIMER_INTERVAL_USEC); - if (r < 0) { - (void) journal_file_close(f); + if (r < 0) return r; - } - *ret = f; + *ret = TAKE_PTR(f); return r; }