.type_mask = endswith(suffix, ".raw") ? (UINT32_C(1) << DT_REG) | (UINT32_C(1) << DT_BLK) : (UINT32_C(1) << DT_DIR),
.basename = name,
.architecture = _ARCHITECTURE_INVALID,
- .suffix = STRV_MAKE(suffix),
+ .suffix = suffix,
};
_cleanup_(pick_result_done) PickResult result = PICK_RESULT_NULL;
.type_mask = endswith(suffix, ".raw") ? (UINT32_C(1) << DT_REG) | (UINT32_C(1) << DT_BLK) : (UINT32_C(1) << DT_DIR),
.basename = pretty,
.architecture = _ARCHITECTURE_INVALID,
- .suffix = STRV_MAKE(suffix),
+ .suffix = suffix,
};
_cleanup_(pick_result_done) PickResult result = PICK_RESULT_NULL;
#include "recurse-dir.h"
#include "stat-util.h"
#include "string-util.h"
-#include "strv.h"
#include "vpick.h"
void pick_result_done(PickResult *p) {
if (FLAGS_SET(flags, PICK_TRIES) || !filter->version) /* Underspecified? */
return -ENOEXEC;
- if (strv_length(filter->suffix) > 1) /* suffix is not deterministic? */
- return -ENOEXEC;
/* The format for names we match goes like this:
*
return -ENOMEM;
}
- if (!strv_isempty(filter->suffix))
- if (!strextend(&fn, filter->suffix[0]))
+ if (!isempty(filter->suffix))
+ if (!strextend(&fn, filter->suffix))
return -ENOMEM;
if (!filename_is_valid(fn))
} else
e = dname;
- if (!strv_isempty(filter->suffix)) {
- char *sfx = endswith_strv(e, filter->suffix);
+ if (!isempty(filter->suffix)) {
+ char *sfx = endswith(e, filter->suffix);
if (!sfx)
continue;
PickResult *ret) {
_cleanup_free_ char *filter_bname = NULL, *dir = NULL, *parent = NULL, *fname = NULL;
- char * const *filter_suffix_strv = NULL;
const char *filter_suffix = NULL, *enumeration_path;
uint32_t filter_type_mask;
int r;
return -ENOMEM;
/* Chop off suffix, if specified */
- char *f = endswith_strv(filter_bname, filter->suffix);
- if (f)
- *f = 0;
+ if (!isempty(filter->suffix)) {
+ char *f = endswith(filter_bname, filter->suffix);
+ if (f)
+ *f = 0;
+ }
- filter_suffix_strv = filter->suffix;
+ filter_suffix = filter->suffix;
filter_type_mask = filter->type_mask;
enumeration_path = path;
.basename = filter_bname,
.version = filter->version,
.architecture = filter->architecture,
- .suffix = filter_suffix_strv ?: STRV_MAKE(filter_suffix),
+ .suffix = filter_suffix,
},
flags,
ret);
{
.type_mask = (UINT32_C(1) << DT_REG) | (UINT32_C(1) << DT_BLK),
.architecture = _ARCHITECTURE_INVALID,
- .suffix = STRV_MAKE(".raw"),
+ .suffix = ".raw",
},
};
.basename = arg_filter_basename,
.version = arg_filter_version,
.architecture = arg_filter_architecture,
- .suffix = STRV_MAKE(arg_filter_suffix),
+ .suffix = arg_filter_suffix,
.type_mask = arg_filter_type_mask,
},
/* n_filters= */ 1,