[PATCH app/xrandr] Fix checking for valid argument of --dpi

Pali Rohár pali.rohar at gmail.com
Wed Oct 17 16:36:42 UTC 2018


Gentle reminder for a patch which I sent 5 months ago...

On Monday 07 May 2018 23:38:10 Pali Rohár wrote:
> Hello, can you review my patch below?
> 
> On Thursday 12 April 2018 20:52:21 Pali Rohár wrote:
> > Function strtod() sets strtod_error to the pointer of the first invalid
> > character and therefore it does not have to be first character from input.
> > When input is valid then it points to nul byte. Conversion error is
> > indicated by setted errno. Zero-length argument and zero DPI is invalid
> > too.
> > 
> > Update also error message about invalid argument.
> > 
> > Signed-off-by: Pali Rohár <pali.rohar at gmail.com>
> > ---
> >  xrandr.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/xrandr.c b/xrandr.c
> > index 7f1e867..1960bbf 100644
> > --- a/xrandr.c
> > +++ b/xrandr.c
> > @@ -3115,9 +3115,10 @@ main (int argc, char **argv)
> >  	}
> >  	if (!strcmp ("--dpi", argv[i])) {
> >  	    char *strtod_error;
> > -	    if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]);
> > +	    if (++i >= argc || !argv[i][0]) argerr ("%s requires an argument\n", argv[i-1]);
> > +	    errno = 0;
> >  	    dpi = strtod(argv[i], &strtod_error);
> > -	    if (argv[i] == strtod_error)
> > +	    if (*strtod_error || errno || dpi == 0)
> >  	    {
> >  		dpi = 0.0;
> >  		dpi_output_name = argv[i];
> > @@ -3567,7 +3568,7 @@ main (int argc, char **argv)
> >  	    XRROutputInfo	*output_info;
> >  	    XRRModeInfo	*mode_info;
> >  	    if (!dpi_output)
> > -		fatal ("Cannot find output %s\n", dpi_output_name);
> > +		fatal ("%s is not valid DPI nor valid output\n", dpi_output_name);
> >  	    output_info = dpi_output->output_info;
> >  	    mode_info = dpi_output->mode_info;
> >  	    if (output_info && mode_info && output_info->mm_height)
> 

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.x.org/archives/xorg-devel/attachments/20181017/97936f2e/attachment.sig>


More information about the xorg-devel mailing list