提交 e34bbd3b 编写于 作者: J Junio C Hamano

Merge branch 'jk/maint-send-email-alias-loop'

* jk/maint-send-email-alias-loop:
  send-email: detect cycles in alias expansion
...@@ -654,13 +654,17 @@ sub ask { ...@@ -654,13 +654,17 @@ sub ask {
} }
sub expand_aliases { sub expand_aliases {
my @cur = @_; return map { expand_one_alias($_) } @_;
my @last; }
do {
@last = @cur; my %EXPANDED_ALIASES;
@cur = map { $aliases{$_} ? @{$aliases{$_}} : $_ } @last; sub expand_one_alias {
} while (join(',',@cur) ne join(',',@last)); my $alias = shift;
return @cur; if ($EXPANDED_ALIASES{$alias}) {
die "fatal: alias '$alias' expands to itself\n";
}
local $EXPANDED_ALIASES{$alias} = 1;
return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias;
} }
@to = expand_aliases(@to); @to = expand_aliases(@to);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册