[Mesa-dev] [PATCH v6 1/3] util: Add util_strlcpy
Brian Paul
brianp at vmware.com
Wed Jul 5 14:46:47 UTC 2017
On 07/05/2017 12:57 AM, Robert Foss wrote:
> Add local strlcpy implementation.
>
> Signed-off-by: Robert Foss <robert.foss at collabora.com>
> ---
> Changes since v5:
> Actually include changes from v5 in patch
>
> Changes since v4:
> Gustaw Smolarczyk <wielkiegie at gmail.com>
> - Make util_strlcpy have the same behaviour as strlcpy
>
> Changes since v3:
> Matt Turner <mattst88 at gmail.com>
> - Change name of util_strncpy to util_strlcpy
>
> Changes since v2:
> Brian Paul <brianp at vmware.com>
> - Patch added
>
>
> src/util/u_string.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/src/util/u_string.h b/src/util/u_string.h
> index e88e13f42c..bbabcbc7cb 100644
> --- a/src/util/u_string.h
> +++ b/src/util/u_string.h
> @@ -48,6 +48,15 @@
> extern "C" {
> #endif
>
> +static inline size_t
> +util_strlcpy(char *dst, const char *src, size_t n)
> +{
> + strncpy(dst, src, n);
> + dst[n-1] = '\0';
> +
> + return strnlen(src, n);
> +}
This effectively walks over the source string twice. I'd suggest just
using your own loop.
-Brian
> +
> #ifdef _GNU_SOURCE
>
> #define util_strchrnul strchrnul
>
More information about the mesa-dev
mailing list