Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:Update
systemd.22324
5000-shared-rm_rf-refactor-rm_rf_children_inner...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5000-shared-rm_rf-refactor-rm_rf_children_inner-to-shorte.patch of Package systemd.22324
From 00f57c7b5271ac93723eb368ff786e6e26584b10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> Date: Tue, 23 Nov 2021 15:55:45 +0100 Subject: [PATCH 5000/5002] shared/rm_rf: refactor rm_rf_children_inner() to shorten code a bit --- src/basic/rm-rf.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/src/basic/rm-rf.c b/src/basic/rm-rf.c index 51f99a5eb7..7f0729319a 100644 --- a/src/basic/rm-rf.c +++ b/src/basic/rm-rf.c @@ -123,7 +123,7 @@ static int rm_rf_children_inner( const struct stat *root_dev) { struct stat st; - int r; + int r, q = 0; assert(fd >= 0); assert(fname); @@ -141,7 +141,6 @@ static int rm_rf_children_inner( if (is_dir) { _cleanup_close_ int subdir_fd = -1; - int q; /* if root_dev is set, remove subdirectories only if device is same */ if (root_dev && st.st_dev != root_dev->st_dev) @@ -177,23 +176,15 @@ static int rm_rf_children_inner( * again for each directory */ q = rm_rf_children(TAKE_FD(subdir_fd), flags | REMOVE_PHYSICAL, root_dev); - r = unlinkat_harder(fd, fname, AT_REMOVEDIR, flags); - if (r < 0) - return r; - if (q < 0) - return q; - - return 1; - - } else if (!(flags & REMOVE_ONLY_DIRECTORIES)) { - r = unlinkat_harder(fd, fname, 0, flags); - if (r < 0) - return r; - - return 1; - } + } else if (flags & REMOVE_ONLY_DIRECTORIES) + return 0; - return 0; + r = unlinkat_harder(fd, fname, is_dir ? AT_REMOVEDIR : 0, flags); + if (r < 0) + return r; + if (q < 0) + return q; + return 1; } int rm_rf_children( -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor