@@ -1572,7 +1572,7 @@ int main(int argc, char **argv, char **envp) {
1572
1572
arg_trace = 1 ;
1573
1573
else if (strncmp (argv [i ], "--trace=" , 8 ) == 0 ) {
1574
1574
arg_trace = 1 ;
1575
- arg_tracefile = argv [i ] + 8 ;
1575
+ arg_tracefile = expand_macros ( argv [i ] + 8 ) ;
1576
1576
if (* arg_tracefile == '\0' ) {
1577
1577
fprintf (stderr , "Error: invalid trace option\n" );
1578
1578
exit (1 );
@@ -1582,13 +1582,6 @@ int main(int argc, char **argv, char **envp) {
1582
1582
fprintf (stderr , "Error: invalid file name %s\n" , arg_tracefile );
1583
1583
exit (1 );
1584
1584
}
1585
- // if the filename starts with ~, expand the home directory
1586
- if (* arg_tracefile == '~' ) {
1587
- char * tmp ;
1588
- if (asprintf (& tmp , "%s%s" , cfg .homedir , arg_tracefile + 1 ) == -1 )
1589
- errExit ("asprintf" );
1590
- arg_tracefile = tmp ;
1591
- }
1592
1585
}
1593
1586
else if (strcmp (argv [i ], "--tracelog" ) == 0 ) {
1594
1587
if (checkcfg (CFG_TRACELOG ))
@@ -1953,20 +1946,13 @@ int main(int argc, char **argv, char **envp) {
1953
1946
}
1954
1947
1955
1948
// extract chroot dirname
1956
- cfg .chrootdir = argv [i ] + 9 ;
1949
+ cfg .chrootdir = expand_macros ( argv [i ] + 9 ) ;
1957
1950
if (* cfg .chrootdir == '\0' ) {
1958
1951
fprintf (stderr , "Error: invalid chroot option\n" );
1959
1952
exit (1 );
1960
1953
}
1961
1954
invalid_filename (cfg .chrootdir , 0 ); // no globbing
1962
1955
1963
- // if the directory starts with ~, expand the home directory
1964
- if (* cfg .chrootdir == '~' ) {
1965
- char * tmp ;
1966
- if (asprintf (& tmp , "%s%s" , cfg .homedir , cfg .chrootdir + 1 ) == -1 )
1967
- errExit ("asprintf" );
1968
- cfg .chrootdir = tmp ;
1969
- }
1970
1956
// check chroot directory
1971
1957
fs_check_chroot_dir ();
1972
1958
}
@@ -2748,16 +2734,7 @@ int main(int argc, char **argv, char **envp) {
2748
2734
else if (strncmp (argv [i ], "--netfilter=" , 12 ) == 0 ) {
2749
2735
if (checkcfg (CFG_NETWORK )) {
2750
2736
arg_netfilter = 1 ;
2751
- arg_netfilter_file = argv [i ] + 12 ;
2752
-
2753
- // expand tilde
2754
- if (* arg_netfilter_file == '~' ) {
2755
- char * tmp ;
2756
- if (asprintf (& tmp , "%s%s" , cfg .homedir , arg_netfilter_file + 1 ) == -1 )
2757
- errExit ("asprintf" );
2758
- arg_netfilter_file = tmp ;
2759
- }
2760
-
2737
+ arg_netfilter_file = expand_macros (argv [i ] + 12 );
2761
2738
check_netfilter_file (arg_netfilter_file );
2762
2739
}
2763
2740
else
@@ -2767,16 +2744,7 @@ int main(int argc, char **argv, char **envp) {
2767
2744
else if (strncmp (argv [i ], "--netfilter6=" , 13 ) == 0 ) {
2768
2745
if (checkcfg (CFG_NETWORK )) {
2769
2746
arg_netfilter6 = 1 ;
2770
- arg_netfilter6_file = argv [i ] + 13 ;
2771
-
2772
- // expand tilde
2773
- if (* arg_netfilter6_file == '~' ) {
2774
- char * tmp ;
2775
- if (asprintf (& tmp , "%s%s" , cfg .homedir , arg_netfilter6_file + 1 ) == -1 )
2776
- errExit ("asprintf" );
2777
- arg_netfilter6_file = tmp ;
2778
- }
2779
-
2747
+ arg_netfilter6_file = expand_macros (argv [i ] + 13 );
2780
2748
check_netfilter_file (arg_netfilter6_file );
2781
2749
}
2782
2750
else
0 commit comments