basic: add new helper call empty_or_dash_to_null()

We have a function like this at two places already. Let's unify it in
one generic location and let's port a number of users over.
This commit is contained in:
Lennart Poettering
2019-04-08 12:11:11 +02:00
parent e7b88b7bc1
commit dc90e0faae
7 changed files with 32 additions and 50 deletions
+10 -18
View File
@@ -1993,10 +1993,6 @@ static int transfer_image_common(sd_bus *bus, sd_bus_message *m) {
return -r;
}
static const char *nullify_dash(const char *p) {
return empty_or_dash(p) ? NULL : p;
}
static int import_tar(int argc, char *argv[], void *userdata) {
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
_cleanup_free_ char *ll = NULL, *fn = NULL;
@@ -2008,10 +2004,10 @@ static int import_tar(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
path = nullify_dash(argv[1]);
path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
local = nullify_dash(argv[2]);
local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2075,10 +2071,10 @@ static int import_raw(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
path = nullify_dash(argv[1]);
path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
local = nullify_dash(argv[2]);
local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2142,10 +2138,10 @@ static int import_fs(int argc, char *argv[], void *userdata) {
assert(bus);
if (argc >= 2)
path = nullify_dash(argv[1]);
path = empty_or_dash_to_null(argv[1]);
if (argc >= 3)
local = nullify_dash(argv[2]);
local = empty_or_dash_to_null(argv[2]);
else if (path) {
r = path_extract_filename(path, &fn);
if (r < 0)
@@ -2224,8 +2220,7 @@ static int export_tar(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
if (empty_or_dash(path))
path = NULL;
path = empty_or_dash_to_null(path);
if (path) {
determine_compression_from_filename(path);
@@ -2274,8 +2269,7 @@ static int export_raw(int argc, char *argv[], void *userdata) {
if (argc >= 3)
path = argv[2];
if (empty_or_dash(path))
path = NULL;
path = empty_or_dash_to_null(path);
if (path) {
determine_compression_from_filename(path);
@@ -2332,8 +2326,7 @@ static int pull_tar(int argc, char *argv[], void *userdata) {
local = l;
}
if (empty_or_dash(local))
local = NULL;
local = empty_or_dash_to_null(local);
if (local) {
r = tar_strip_suffixes(local, &ll);
@@ -2396,8 +2389,7 @@ static int pull_raw(int argc, char *argv[], void *userdata) {
local = l;
}
if (empty_or_dash(local))
local = NULL;
local = empty_or_dash_to_null(local);
if (local) {
r = raw_strip_suffixes(local, &ll);