[Cluster-devel] [PATCH gfs2-utils] mkfs.gfs2: make are you sure EOF happy

Andrew Price anprice at redhat.com
Thu Jan 14 11:56:34 UTC 2021


On 13/01/2021 17:36, Alexander Aring wrote:
> This patch adds a check for getline() error, as the manpage states out
> that -1 is returned in EOF case we answer such case and possible
> other errors with no. If you currently press ctrl-d during this question
> an endless loop of asking this question over and over again will occur.
> However this patch changes to handle errors with no and prints a newline
> so the user have a new clean shell prompt afterwards. If getline reads
> zero characters .e.g '\n', the question is if we are sure is asked again.
> 
> Signed-off-by: Alexander Aring <aahringo at redhat.com>
> ---
>   gfs2/mkfs/main_mkfs.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)

Applied, thanks Alex.

Andy

> 
> diff --git a/gfs2/mkfs/main_mkfs.c b/gfs2/mkfs/main_mkfs.c
> index 5e34ca1f..e6fc6532 100644
> --- a/gfs2/mkfs/main_mkfs.c
> +++ b/gfs2/mkfs/main_mkfs.c
> @@ -528,9 +528,14 @@ static int are_you_sure(void)
>   		   `locale -k noexpr` */
>   		printf( _("Are you sure you want to proceed? [y/n] "));
>   		ret = getline(&line, &len, stdin);
> +		if (ret < 0) {
> +			printf("\n");
> +			free(line);
> +			return 0;
> +		}
>   		res = rpmatch(line);
>   		free(line);
> -		if (ret <= 0)
> +		if (ret == 0)
>   			continue;
>   		if (res == 1) /* Yes */
>   			return 1;
> 




More information about the Cluster-devel mailing list