Be more intention-revealing with libcutils' strlcpy.
Several people have been independently confused about when this gets
built and why over the past couple of days.
Change-Id: I2d4a02f66e24c0734327585b7d27e50a344b1e94
diff --git a/include/cutils/memory.h b/include/cutils/memory.h
index e725cdd..4d26882 100644
--- a/include/cutils/memory.h
+++ b/include/cutils/memory.h
@@ -30,7 +30,7 @@
/* size is given in bytes and must be multiple of 4 */
void android_memset32(uint32_t* dst, uint32_t value, size_t size);
-#if !HAVE_STRLCPY
+#if defined(__GLIBC__) || defined(_WIN32)
/* Declaration of strlcpy() for platforms that don't already have it. */
size_t strlcpy(char *dst, const char *src, size_t size);
#endif
diff --git a/libcutils/Android.mk b/libcutils/Android.mk
index 62c6113..d4450c6 100644
--- a/libcutils/Android.mk
+++ b/libcutils/Android.mk
@@ -22,7 +22,7 @@
native_handle.c \
config_utils.c \
load_file.c \
- memory.c \
+ strlcpy.c \
open_memstream.c \
strdup16to8.c \
strdup8to16.c \
diff --git a/libcutils/memory.c b/libcutils/strlcpy.c
similarity index 71%
rename from libcutils/memory.c
rename to libcutils/strlcpy.c
index 44cf127..360abc5 100644
--- a/libcutils/memory.c
+++ b/libcutils/strlcpy.c
@@ -1,23 +1,4 @@
/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <cutils/memory.h>
-
-#if !HAVE_STRLCPY
-/*
* Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
@@ -33,9 +14,15 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <features.h>
+
+#if defined(__GLIBC__) || defined(_WIN32)
+
#include <sys/types.h>
#include <string.h>
+#include <cutils/memory.h>
+
/* Implementation of strlcpy() for platforms that don't already have it. */
/*
@@ -68,4 +55,5 @@
return(s - src - 1); /* count does not include NUL */
}
+
#endif