[dpdk-dev] [PATCH v5 02/21] rte_string_fns.h: fix gcc8.1 sign conv warning in lstrcpy
Stephen Hemminger
stephen at networkplumber.org
Thu May 17 16:40:16 CEST 2018
On Thu, 17 May 2018 21:49:02 +0800
Andy Green <andy at warmcat.com> wrote:
> In file included from ./dpdk/dpdk.c:88:
> /projects/lagopus/src/dpdk/build/include/rte_string_fns.h: In
> function 'rte_strlcpy':
> /projects/lagopus/src/dpdk/build/include/rte_string_fns.h:58:9:
> warning: conversion to 'size_t' {aka 'long unsigned int'} from
> 'int' may change the sign of the result [-Wsign-conversion]
> return snprintf(dst, size, "%s", src);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ---
> lib/librte_eal/common/include/rte_string_fns.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/include/rte_string_fns.h b/lib/librte_eal/common/include/rte_string_fns.h
> index fcbb42e00..97597a148 100644
> --- a/lib/librte_eal/common/include/rte_string_fns.h
> +++ b/lib/librte_eal/common/include/rte_string_fns.h
> @@ -55,7 +55,7 @@ rte_strsplit(char *string, int stringlen,
> static inline size_t
> rte_strlcpy(char *dst, const char *src, size_t size)
> {
> - return snprintf(dst, size, "%s", src);
> + return (size_t)snprintf(dst, size, "%s", src);
> }
>
> /* pull in a strlcpy function */
>
I still like the BSD function better because it guarantees all data
in the buffer is zero'd snprintf does not.
More information about the dev
mailing list