Files
shadow/lib
Alejandro Colomar 225530b7e1 lib/strncpy.h: Add STRNCPY() wrapper for strncpy(3)
This wrapper calculates the destination buffer's size, to avoid errors
in the size calculation.

A curious fact: this macro did exist in Version 7 Unix (with a slightly
different name).  I found it by chance, investigating the origins of
strncpy(3) and strncat(3) in V7, after Branden suggested me to do so,
related to recent discussions about string_copying(7).

	alx@debian:~/src/unix/unix/Research-V7$ grepc SCPYN .
	./usr/src/cmd/login.c:#define SCPYN(a, b)	strncpy(a, b, sizeof(a))

Our implementation is slightly better, because using nitems() we're
protected against passing a pointer instead of an array, and it's also
conceptually more appropriate: for wide characters, it would be

	#define WCSNCPY(dst, src)  wcsncpy(dst, src, NITEMS(dst))

Cc: "G. Branden Robinson" <branden@debian.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-11-26 06:48:18 -06:00
..
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-06-08 09:05:39 -05:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-02-24 12:44:14 -06:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2022-12-29 13:58:49 -06:00
2023-11-13 12:40:48 +01:00
2023-08-31 08:55:26 +02:00
2021-12-23 19:36:50 -06:00
2021-12-23 19:36:50 -06:00
2023-08-31 08:55:26 +02:00
2023-03-31 09:53:40 -05:00
2021-12-23 19:36:50 -06:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-02-09 10:03:03 -06:00
2023-02-09 10:03:03 -06:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-11-25 21:24:38 -06:00
2021-12-23 19:36:50 -06:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2021-12-23 19:36:50 -06:00
2021-12-23 19:36:50 -06:00
2023-09-01 09:39:23 +02:00
2021-12-23 19:36:50 -06:00
2023-06-08 09:05:39 -05:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-09-01 09:39:23 +02:00
2023-08-31 08:55:26 +02:00
2022-12-22 11:43:29 +01:00
2023-08-31 08:55:26 +02:00
2023-09-01 09:39:23 +02:00
2023-08-31 08:55:26 +02:00
2023-09-01 09:39:23 +02:00
2023-08-31 08:55:26 +02:00
2022-12-22 11:43:29 +01:00
2023-10-20 21:05:33 +02:00
2023-11-25 21:24:38 -06:00
2023-08-31 08:55:26 +02:00
2021-12-23 19:36:50 -06:00
2023-11-13 12:40:48 +01:00
2022-05-24 07:49:11 -05:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2021-12-23 19:36:50 -06:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2022-05-24 07:49:11 -05:00
2023-09-01 09:39:23 +02:00
2023-08-31 08:55:26 +02:00
2023-06-08 09:05:39 -05:00
2022-12-22 11:43:29 +01:00
2021-12-23 19:36:50 -06:00
2023-02-09 10:03:03 -06:00
2023-02-09 10:03:03 -06:00
2021-12-23 19:36:50 -06:00
2023-01-26 22:44:39 -06:00
2023-08-31 08:55:26 +02:00
2023-09-01 09:39:23 +02:00
2023-10-20 21:05:33 +02:00
2023-10-20 21:05:33 +02:00
2023-06-08 09:05:39 -05:00
2023-02-16 11:29:33 +01:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-11-13 12:40:48 +01:00
2023-08-31 08:55:26 +02:00
2010-03-18 19:23:00 +00:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-08-31 08:55:26 +02:00
2023-09-01 09:39:23 +02:00