iImplement strlcpy to avoid entire libbsd dependency on Linux. - pointtools - Simple point utilities to hold text presentations. Err bitreich.org 70 hgit clone git://bitreich.org/pointtools/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/pointtools/ URL:git://bitreich.org/pointtools/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/pointtools/ bitreich.org 70 1Log /scm/pointtools/log.gph bitreich.org 70 1Files /scm/pointtools/files.gph bitreich.org 70 1Refs /scm/pointtools/refs.gph bitreich.org 70 1Tags /scm/pointtools/tag bitreich.org 70 1README /scm/pointtools/file/README.md.gph bitreich.org 70 1LICENSE /scm/pointtools/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit d56297fed58c06e726860efbd7be4c72bfc4429e /scm/pointtools/commit/d56297fed58c06e726860efbd7be4c72bfc4429e.gph bitreich.org 70 1parent 9d9bd91369117238963de553f570318b6fb42437 /scm/pointtools/commit/9d9bd91369117238963de553f570318b6fb42437.gph bitreich.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org bitreich.org 70 iDate: Tue, 5 May 2020 10:50:40 +0200 Err bitreich.org 70 i Err bitreich.org 70 iImplement strlcpy to avoid entire libbsd dependency on Linux. Err bitreich.org 70 i Err bitreich.org 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M config.mk | 6 +----- Err bitreich.org 70 i M md2point.c | 24 ++++++++++++++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 25 insertions(+), 5 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/config.mk b/config.mk /scm/pointtools/file/config.mk.gph bitreich.org 70 i@@ -1,4 +1,3 @@ Err bitreich.org 70 i- Err bitreich.org 70 i VERSION="0.3" Err bitreich.org 70 i Err bitreich.org 70 i # paths Err bitreich.org 70 i@@ -10,12 +9,10 @@ INCS = -I. -I/usr/include Err bitreich.org 70 i Err bitreich.org 70 i # BSD Err bitreich.org 70 i #LIBS = -L/usr/lib -lc Err bitreich.org 70 i-# Linux Err bitreich.org 70 i-LIBS = -L/usr/lib -lc -lbsd Err bitreich.org 70 i Err bitreich.org 70 i # flags Err bitreich.org 70 i # Linux Err bitreich.org 70 i-CPPFLAGS = -DVERSION=\"${VERSION}\" -D_POSIX_C_SOURCE=1 Err bitreich.org 70 i+CPPFLAGS = -DVERSION=\"${VERSION}\" -D_POSIX_C_SOURCE=200809L -DNEED_STRLCPY Err bitreich.org 70 i # BSD Err bitreich.org 70 i #CPPFLAGS = -DVERSION=\"${VERSION}\" Err bitreich.org 70 i Err bitreich.org 70 i@@ -24,4 +21,3 @@ LDFLAGS += -g ${LIBS} Err bitreich.org 70 i Err bitreich.org 70 i # compiler and linker Err bitreich.org 70 i # CC = cc Err bitreich.org 70 i- Err bitreich.org 70 1diff --git a/md2point.c b/md2point.c /scm/pointtools/file/md2point.c.gph bitreich.org 70 i@@ -8,6 +8,30 @@ Err bitreich.org 70 i #include Err bitreich.org 70 i #include Err bitreich.org 70 i Err bitreich.org 70 i+#ifdef NEED_STRLCPY /* OpenBSD implementation */ Err bitreich.org 70 i+size_t Err bitreich.org 70 i+strlcpy(char *dst, const char *src, size_t dsize) { Err bitreich.org 70 i+ const char *osrc = src; Err bitreich.org 70 i+ size_t nleft = dsize; Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (nleft != 0) { Err bitreich.org 70 i+ while (--nleft != 0) { Err bitreich.org 70 i+ if ((*dst++= *src++) == '\0') Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i+ if (nleft == 0) { Err bitreich.org 70 i+ if (dsize != 0) Err bitreich.org 70 i+ *dst = '\0'; Err bitreich.org 70 i+ while (*src++) Err bitreich.org 70 i+ ; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i+ return(src - osrc - 1); Err bitreich.org 70 i+} Err bitreich.org 70 i+#endif /* NEED_STRLCPY */ Err bitreich.org 70 i+ Err bitreich.org 70 i /* from git://bitreich.org/utf8expr */ Err bitreich.org 70 i size_t Err bitreich.org 70 i utf8strlen(const char *s) Err bitreich.org 70 .