Merge pull request #19514 from keszybz/return-UnitNameFlags-more

Return UnitNameFlags from unit_name_to_instance()
This commit is contained in:
Yu Watanabe
2021-05-06 12:46:00 +09:00
committed by GitHub
6 changed files with 16 additions and 18 deletions
+4 -6
View File
@@ -1278,8 +1278,8 @@ int get_timezones(char ***ret) {
f = fopen("/usr/share/zoneinfo/zone1970.tab", "re");
if (f) {
for (;;) {
_cleanup_free_ char *line = NULL;
char *p, *w;
_cleanup_free_ char *line = NULL, *w = NULL;
char *p;
size_t k;
r = read_line(f, LONG_LINE_MAX, &line);
@@ -1310,12 +1310,10 @@ int get_timezones(char ***ret) {
if (!w)
return -ENOMEM;
if (!GREEDY_REALLOC(zones, n_allocated, n_zones + 2)) {
free(w);
if (!GREEDY_REALLOC(zones, n_allocated, n_zones + 2))
return -ENOMEM;
}
zones[n_zones++] = w;
zones[n_zones++] = TAKE_PTR(w);
zones[n_zones] = NULL;
}
+1 -1
View File
@@ -72,7 +72,7 @@ int unit_validate_alias_symlink_and_warn(const char *filename, const char *targe
const char *src, *dst;
_cleanup_free_ char *src_instance = NULL, *dst_instance = NULL;
UnitType src_unit_type, dst_unit_type;
int src_name_type, dst_name_type;
UnitNameFlags src_name_type, dst_name_type;
/* Check if the *alias* symlink is valid. This applies to symlinks like
* /etc/systemd/system/dbus.service → dbus-broker.service, but not to .wants or .requires symlinks
+1 -1
View File
@@ -139,7 +139,7 @@ int unit_name_to_prefix(const char *n, char **ret) {
return 0;
}
int unit_name_to_instance(const char *n, char **ret) {
UnitNameFlags unit_name_to_instance(const char *n, char **ret) {
const char *p, *d;
assert(n);
+2 -2
View File
@@ -22,8 +22,8 @@ bool unit_instance_is_valid(const char *i) _pure_;
bool unit_suffix_is_valid(const char *s) _pure_;
int unit_name_to_prefix(const char *n, char **ret);
int unit_name_to_instance(const char *n, char **ret);
static inline int unit_name_classify(const char *n) {
UnitNameFlags unit_name_to_instance(const char *n, char **ret);
static inline UnitNameFlags unit_name_classify(const char *n) {
return unit_name_to_instance(n, NULL);
}
int unit_name_to_prefix_and_instance(const char *n, char **ret);
+7 -7
View File
@@ -1754,12 +1754,12 @@ int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char *
"Invalid path \"%s\" in alias.", dir);
*p = '\0'; /* dir should now be a unit name */
r = unit_name_classify(dir);
if (r < 0)
UnitNameFlags type = unit_name_classify(dir);
if (type < 0)
return log_warning_errno(SYNTHETIC_ERRNO(EXDEV),
"Invalid unit name component \"%s\" in alias.", dir);
const bool instance_propagation = r == UNIT_NAME_TEMPLATE;
const bool instance_propagation = type == UNIT_NAME_TEMPLATE;
/* That's the name we want to use for verification. */
r = unit_symlink_name_compatible(path_alias, i->name, instance_propagation);
@@ -1776,11 +1776,11 @@ int unit_file_verify_alias(const UnitFileInstallInfo *i, const char *dst, char *
if (unit_name_is_valid(dst, UNIT_NAME_TEMPLATE)) {
_cleanup_free_ char *inst = NULL;
r = unit_name_to_instance(i->name, &inst);
if (r < 0)
return log_error_errno(r, "Failed to extract instance name from %s: %m", i->name);
UnitNameFlags type = unit_name_to_instance(i->name, &inst);
if (type < 0)
return log_error_errno(type, "Failed to extract instance name from %s: %m", i->name);
if (r == UNIT_NAME_INSTANCE) {
if (type == UNIT_NAME_INSTANCE) {
r = unit_name_replace_instance(dst, inst, &dst_updated);
if (r < 0)
return log_error_errno(r, "Failed to build unit name from %s+%s: %m",
+1 -1
View File
@@ -471,8 +471,8 @@ static void test_build_parent_slice(void) {
}
static void test_unit_name_to_instance(void) {
UnitNameFlags r;
char *instance;
int r;
log_info("/* %s */", __func__);