Theo Buehler writes:
> $ unset DISPLAY; xclip
> Error: Can't open display: (null)
> $ tail -1 /var/log/messages
> Nov 18 11:53:55 mimine xclip: vfprintf %s NULL in "Error: Can't open display:
>  %s "
>
> ok?
>
> Index: Makefile
> ===================================================================
> RCS file: /var/cvs/ports/x11/xclip/Makefile,v
> retrieving revision 1.15
> diff -u -p -r1.15 Makefile
> --- Makefile  13 Sep 2016 20:13:38 -0000      1.15
> +++ Makefile  18 Nov 2017 10:56:55 -0000
> @@ -4,6 +4,7 @@ COMMENT=              command line interface to X se
>  GH_ACCOUNT=          astrand
>  GH_PROJECT=          xclip
>  GH_TAGNAME=          0.13
> +REVISION=            0
>  CATEGORIES=          x11
>  
>  MAINTAINER=          Dmitrij D. Czarkoff <czark...@openbsd.org>
> Index: patches/patch-xcprint_c
> ===================================================================
> RCS file: patches/patch-xcprint_c
> diff -N patches/patch-xcprint_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-xcprint_c   18 Nov 2017 10:55:49 -0000
> @@ -0,0 +1,19 @@
> +$OpenBSD$
> +
> +Avoid printf "%s" NULL
> +
> +Index: xcprint.c
> +--- xcprint.c.orig
> ++++ xcprint.c
> +@@ -86,7 +86,10 @@ errxdisplay(char *display)
> +     if (display == NULL)
> +     display = getenv("DISPLAY");
> + 
> +-    fprintf(stderr, "Error: Can't open display: %s\n", display);
> ++    if (display == NULL || *display == '\0')
> ++    fprintf(stderr, "Error: Can't open display\n");
> ++    else
> ++    fprintf(stderr, "Error: Can't open display: %s\n", display);
> +     exit(EXIT_FAILURE);
> + }
> + 

This makes the error vague when you actually have DISPLAY unset, e.g.,
ssh'd into the wrong machine... I would prefer to keep the same output
in the null case.

if (display == NULL)
fprintf(stderr, "Error: Can't open display: (null)\n");
else
fprintf(stderr, "Error: Can't open display: %s\n", display);

Reply via email to