1212#include "unit.h"
1313#include "user-util.h"
1414
15- static int specifier_prefix_and_instance (char specifier , const void * data , const void * userdata , char * * ret ) {
15+ static int specifier_prefix_and_instance (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
1616 const Unit * u = userdata ;
1717
1818 assert (u );
1919
2020 return unit_name_to_prefix_and_instance (u -> id , ret );
2121}
2222
23- static int specifier_prefix (char specifier , const void * data , const void * userdata , char * * ret ) {
23+ static int specifier_prefix (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
2424 const Unit * u = userdata ;
2525
2626 assert (u );
2727
2828 return unit_name_to_prefix (u -> id , ret );
2929}
3030
31- static int specifier_prefix_unescaped (char specifier , const void * data , const void * userdata , char * * ret ) {
31+ static int specifier_prefix_unescaped (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
3232 _cleanup_free_ char * p = NULL ;
3333 const Unit * u = userdata ;
3434 int r ;
@@ -42,15 +42,15 @@ static int specifier_prefix_unescaped(char specifier, const void *data, const vo
4242 return unit_name_unescape (p , ret );
4343}
4444
45- static int specifier_instance_unescaped (char specifier , const void * data , const void * userdata , char * * ret ) {
45+ static int specifier_instance_unescaped (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
4646 const Unit * u = userdata ;
4747
4848 assert (u );
4949
5050 return unit_name_unescape (strempty (u -> instance ), ret );
5151}
5252
53- static int specifier_last_component (char specifier , const void * data , const void * userdata , char * * ret ) {
53+ static int specifier_last_component (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
5454 const Unit * u = userdata ;
5555 _cleanup_free_ char * prefix = NULL ;
5656 char * dash ;
@@ -64,24 +64,24 @@ static int specifier_last_component(char specifier, const void *data, const void
6464
6565 dash = strrchr (prefix , '-' );
6666 if (dash )
67- return specifier_string (specifier , dash + 1 , userdata , ret );
67+ return specifier_string (specifier , dash + 1 , root , userdata , ret );
6868
6969 * ret = TAKE_PTR (prefix );
7070 return 0 ;
7171}
7272
73- static int specifier_last_component_unescaped (char specifier , const void * data , const void * userdata , char * * ret ) {
73+ static int specifier_last_component_unescaped (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
7474 _cleanup_free_ char * p = NULL ;
7575 int r ;
7676
77- r = specifier_last_component (specifier , data , userdata , & p );
77+ r = specifier_last_component (specifier , data , root , userdata , & p );
7878 if (r < 0 )
7979 return r ;
8080
8181 return unit_name_unescape (p , ret );
8282}
8383
84- static int specifier_filename (char specifier , const void * data , const void * userdata , char * * ret ) {
84+ static int specifier_filename (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
8585 const Unit * u = userdata ;
8686
8787 assert (u );
@@ -96,7 +96,7 @@ static void bad_specifier(const Unit *u, char specifier) {
9696 log_unit_warning (u , "Specifier '%%%c' used in unit configuration, which is deprecated. Please update your unit file, as it does not work as intended." , specifier );
9797}
9898
99- static int specifier_cgroup (char specifier , const void * data , const void * userdata , char * * ret ) {
99+ static int specifier_cgroup (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
100100 const Unit * u = userdata ;
101101 char * n ;
102102
@@ -115,7 +115,7 @@ static int specifier_cgroup(char specifier, const void *data, const void *userda
115115 return 0 ;
116116}
117117
118- static int specifier_cgroup_root (char specifier , const void * data , const void * userdata , char * * ret ) {
118+ static int specifier_cgroup_root (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
119119 const Unit * u = userdata ;
120120 char * n ;
121121
@@ -131,7 +131,7 @@ static int specifier_cgroup_root(char specifier, const void *data, const void *u
131131 return 0 ;
132132}
133133
134- static int specifier_cgroup_slice (char specifier , const void * data , const void * userdata , char * * ret ) {
134+ static int specifier_cgroup_slice (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
135135 const Unit * u = userdata , * slice ;
136136 char * n ;
137137
@@ -154,7 +154,7 @@ static int specifier_cgroup_slice(char specifier, const void *data, const void *
154154 return 0 ;
155155}
156156
157- static int specifier_special_directory (char specifier , const void * data , const void * userdata , char * * ret ) {
157+ static int specifier_special_directory (char specifier , const void * data , const char * root , const void * userdata , char * * ret ) {
158158 const Unit * u = userdata ;
159159 char * n = NULL ;
160160
@@ -198,7 +198,7 @@ int unit_name_printf(const Unit *u, const char* format, char **ret) {
198198 assert (format );
199199 assert (ret );
200200
201- return specifier_printf (format , UNIT_NAME_MAX , table , u , ret );
201+ return specifier_printf (format , UNIT_NAME_MAX , table , NULL , u , ret );
202202}
203203
204204int unit_full_printf_full (const Unit * u , const char * format , size_t max_length , char * * ret ) {
@@ -262,5 +262,5 @@ int unit_full_printf_full(const Unit *u, const char *format, size_t max_length,
262262 {}
263263 };
264264
265- return specifier_printf (format , max_length , table , u , ret );
265+ return specifier_printf (format , max_length , table , NULL , u , ret );
266266}
0 commit comments