csync2: keep strlcpy for glibc, disable for musl

This commit is contained in:
Jürgen Buchmüller 2015-10-06 16:45:48 +02:00
parent 3396588daa
commit fe1c1a4c4e
2 changed files with 18 additions and 36 deletions

View File

@ -0,0 +1,18 @@
--- rsync.c 2015-03-09 15:08:51.000000000 +0100
+++ rsync.c 2015-10-06 16:44:57.988159380 +0200
@@ -39,6 +39,7 @@
#endif
+#if defined(__GLIBC__)
/* This has been taken from rsync:lib/compat.c */
/**
@@ -61,6 +62,7 @@
}
return ret;
}
+#endif
/* splits filepath at the last '/', if any, like so:
* dirname basename filepath

View File

@ -1,36 +0,0 @@
The declaration of strlcpy conflicts with the musl libc
implementation. The libc (GNU or musl) implementation
should be sufficient in any case.
--- rsync.c 2015-03-09 15:08:51.000000000 +0100
+++ rsync.c 2015-10-06 16:39:10.499186490 +0200
@@ -39,29 +39,6 @@
#endif
-/* This has been taken from rsync:lib/compat.c */
-
-/**
- * Like strncpy but does not 0 fill the buffer and always null
- * terminates.
- *
- * @param bufsize is the size of the destination buffer.
- *
- * @return index of the terminating byte.
- **/
-static size_t strlcpy(char *d, const char *s, size_t bufsize)
-{
- size_t len = strlen(s);
- size_t ret = len;
- if (bufsize > 0) {
- if (len >= bufsize)
- len = bufsize-1;
- memcpy(d, s, len);
- d[len] = 0;
- }
- return ret;
-}
-
/* splits filepath at the last '/', if any, like so:
* dirname basename filepath
* "/" "" "/"