Subject: Re: [PATCH iproute2] Use libbsd for strlcpy if available

From: David Ahern <[email-masked]>
Date: Mon, 29 Oct 2018 09:27:56 -0600

On 10/29/18 4:46 AM, Luca Boccassi wrote:
> If libc does not provide strlcpy check for libbsd with pkg-config to
> avoid relying on inline version.
> 
> Signed-off-by: Luca Boccassi <[email-masked]>
> ---
> This allows distro maintainers to be able to choose to reduce
> duplication and let this code be maintained in one place, in the
> external library.
> 
>  configure | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index 744d6282..1dd9ce84 100755
> --- a/configure
> +++ b/configure
> @@ -330,8 +330,16 @@ EOF
>      then
>  	echo "no"
>      else
> -	echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
> -	echo "yes"
> +	if ${PKG_CONFIG} libbsd --exists
> +	then
> +		echo 'CFLAGS += -include' `${PKG_CONFIG} libbsd --variable=includedir`'/bsd/string.h' \
> +			`${PKG_CONFIG} libbsd --cflags` >>$CONFIG
> +		echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG
> +		echo "no"
> +	else
> +		echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
> +		echo "yes"
> +	fi
>      fi
>      rm -f $TMPDIR/strtest.c $TMPDIR/strtest
>  }
> 

How long has libbsd had an implementation of strlcpy? Would be safer to
have a compile test to verify libbsd has it.