On Wednesday 21 January 2015 10:39:12 Hu Tao wrote:
On Tue, Jan 20, 2015 at 04:28:40PM +0100, Pino Toscano wrote:
> The code is already within a "if (prompt) {...}" block, so checking for
> "prompt" again is redundant.
> ---
> fish/fish.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fish/fish.c b/fish/fish.c
> index 8b74c7b..71db83a 100644
> --- a/fish/fish.c
> +++ b/fish/fish.c
> @@ -661,8 +661,8 @@ rl_gets (int prompt)
> line_read = NULL;
> }
>
> - p = prompt && ps1 ? decode_ps1 (ps1) : NULL;
> - line_read = readline (prompt ? (ps1 ? p : FISH) : "");
> + p = ps1 ? decode_ps1 (ps1) : NULL;
> + line_read = readline (ps1 ? p : FISH);
Can be simplified further:
line_read = readline (ps1 ? decode_ps1 (ps1) : FISH);
decode_ps1 returns a new char* buffer, hence it must be freed (notice
that its return value is assigned to a CLEANUP_FREE variable).
--
Pino Toscano