diff options
Diffstat (limited to 'syncfiles.pl')
-rwxr-xr-x | syncfiles.pl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/syncfiles.pl b/syncfiles.pl index ea77ca4..bd40ff2 100755 --- a/syncfiles.pl +++ b/syncfiles.pl @@ -11,11 +11,19 @@ sub do_transform($$) { my($l, $h) = @_; + my($ps) = $$h{'path-separator'}; $l =~ s/\x01/$$h{'object-ending'}/g; - $l =~ s/\x02/$$h{'path-separator'}/g; $l =~ s/\x03/$$h{'continuation'}/g; + if ($ps eq '') { + # Remove the path separator and the preceeding directory + $l =~ s/\S*\x02//g; + } else { + # Convert the path separator + $l =~ s/\x02/$ps/g; + } + return $l; } @@ -31,7 +39,7 @@ foreach $file (@ARGV) { # First, read the syntax hints %hints = %def_hints; while (defined($line = <FILE>)) { - if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]+)\"/) { + if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]*)\"/) { $hints{$1} = $2; } } |