if (path && !is_path(path))
return sd_bus_error_setf(e, SD_BUS_ERROR_INVALID_ARGS, "Path %s is not absolute.", path);
if (!name)
if (!name && path)
name = basename(path);
t = unit_name_to_type(name);
assert(c);
assert(name || path);
if (!unit_name_is_valid(name, UNIT_NAME_ANY))