1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-29 14:26:39 +02:00

Revert "Fix bug with /upgrade: check existence of binary even when command is executed without argument"

This reverts commit 3cd267ab23.

With this fix, upgrade was not possible any more if WeeChat was run without path,
ie for example "weechat-curses" running "/usr/bin/weechat-curses".
This commit is contained in:
Sebastien Helleu
2011-01-05 08:05:32 +01:00
parent f837dc49c9
commit c31977f59c
2 changed files with 28 additions and 26 deletions
-2
View File
@@ -9,8 +9,6 @@ Version 0.3.4 (under dev!)
* core: add 256 colors support, new command /color, new section "palette" in
weechat.conf (task #6834)
* core: fix bug with /upgrade: check existence of binary even when command is
executed without argument
* core: add info "weechat_upgrading", signal "upgrade_ended", display duration
of upgrade
* core: replace the 10 nick color options and number of nick colors by a single
+28 -24
View File
@@ -3721,7 +3721,35 @@ COMMAND_CALLBACK(upgrade)
}
if (argc > 1)
{
ptr_binary = string_expand_home (argv_eol[1]);
if (ptr_binary)
{
/* check if weechat binary is here and executable by user */
rc = stat (ptr_binary, &stat_buf);
if ((rc != 0) || (!S_ISREG(stat_buf.st_mode)))
{
gui_chat_printf (NULL,
_("%sCan't upgrade: WeeChat binary \"%s\" "
"does not exist"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
ptr_binary);
free (ptr_binary);
return WEECHAT_RC_OK;
}
if ((!(stat_buf.st_mode & S_IXUSR)) && (!(stat_buf.st_mode & S_IXGRP))
&& (!(stat_buf.st_mode & S_IXOTH)))
{
gui_chat_printf (NULL,
_("%sCan't upgrade: WeeChat binary \"%s\" "
"does not have execute permissions"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
ptr_binary);
free (ptr_binary);
return WEECHAT_RC_OK;
}
}
}
else
ptr_binary = strdup (weechat_argv0);
@@ -3733,30 +3761,6 @@ COMMAND_CALLBACK(upgrade)
return WEECHAT_RC_OK;
}
/* check if weechat binary is here and executable by user */
rc = stat (ptr_binary, &stat_buf);
if ((rc != 0) || (!S_ISREG(stat_buf.st_mode)))
{
gui_chat_printf (NULL,
_("%sCan't upgrade: WeeChat binary \"%s\" "
"does not exist"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
ptr_binary);
free (ptr_binary);
return WEECHAT_RC_OK;
}
if ((!(stat_buf.st_mode & S_IXUSR)) && (!(stat_buf.st_mode & S_IXGRP))
&& (!(stat_buf.st_mode & S_IXOTH)))
{
gui_chat_printf (NULL,
_("%sCan't upgrade: WeeChat binary \"%s\" "
"does not have execute permissions"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
ptr_binary);
free (ptr_binary);
return WEECHAT_RC_OK;
}
gui_chat_printf (NULL,
_("Upgrading WeeChat with binary file: \"%s\"..."),
ptr_binary);