return l;
}
-char **path_strv_canonicalize_absolute(char **l, const char *prefix) {
+char **path_strv_resolve(char **l, const char *prefix) {
char **s;
unsigned k = 0;
bool enomem = false;
return l;
}
-char **path_strv_canonicalize_absolute_uniq(char **l, const char *prefix) {
+char **path_strv_resolve_uniq(char **l, const char *prefix) {
if (strv_isempty(l))
return l;
- if (!path_strv_canonicalize_absolute(l, prefix))
+ if (!path_strv_resolve(l, prefix))
return NULL;
return strv_uniq(l);
char *p;
int r;
- /* We use /etc/os-release as flag file if something is an OS */
+ /* We use /usr/lib/os-release as flag file if something is an OS */
+ p = strappenda(path, "/usr/lib/os-release");
+ r = access(p, F_OK);
+
+ if (r >= 0)
+ return 1;
+ /* Also check for the old location in /etc, just in case. */
p = strappenda(path, "/etc/os-release");
r = access(p, F_OK);
- return r < 0 ? 0 : 1;
+ return r >= 0;
}
int find_binary(const char *name, char **filename) {