From 2040031f7b6ad64db395c78eb650b90c6871b029 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 2 Apr 2015 15:39:33 -0700 Subject: [PATCH] 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 --- include/cutils/memory.h | 2 +- libcutils/Android.mk | 2 +- libcutils/{memory.c => strlcpy.c} | 26 +++++++------------------- 3 files changed, 9 insertions(+), 21 deletions(-) rename libcutils/{memory.c => strlcpy.c} (71%) diff --git a/include/cutils/memory.h b/include/cutils/memory.h index e725cdd03..4d2688255 100644 --- a/include/cutils/memory.h +++ b/include/cutils/memory.h @@ -30,7 +30,7 @@ void android_memset16(uint16_t* dst, uint16_t value, size_t size); /* 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 62c61138a..d4450c619 100644 --- a/libcutils/Android.mk +++ b/libcutils/Android.mk @@ -22,7 +22,7 @@ commonSources := \ 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 44cf12740..360abc5bd 100644 --- a/libcutils/memory.c +++ b/libcutils/strlcpy.c @@ -1,22 +1,3 @@ -/* - * 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 - -#if !HAVE_STRLCPY /* * Copyright (c) 1998 Todd C. Miller * @@ -33,9 +14,15 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include + +#if defined(__GLIBC__) || defined(_WIN32) + #include #include +#include + /* Implementation of strlcpy() for platforms that don't already have it. */ /* @@ -68,4 +55,5 @@ strlcpy(char *dst, const char *src, size_t siz) return(s - src - 1); /* count does not include NUL */ } + #endif