提交 47e5c0ca 编写于 作者: J Johannes Schindelin 提交者: Junio C Hamano

Save errno in handle_alias()

git.c:main() relies on the value of errno being set by the last attempt to
execute the command. However, if something goes awry in handle_alias(),
that assumption is wrong. So restore errno before returning from
handle_alias().
Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 f0ef0596
......@@ -100,7 +100,7 @@ static int split_cmdline(char *cmdline, const char ***argv)
static int handle_alias(int *argcp, const char ***argv)
{
int nongit = 0, ret = 0;
int nongit = 0, ret = 0, saved_errno = errno;
const char *subdir;
subdir = setup_git_directory_gently(&nongit);
......@@ -138,6 +138,8 @@ static int handle_alias(int *argcp, const char ***argv)
if (subdir)
chdir(subdir);
errno = saved_errno;
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册