// Copyright 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef MINI_CHROMIUM_BASE_STRINGS_STRING_UTIL_H_ #define MINI_CHROMIUM_BASE_STRINGS_STRING_UTIL_H_ #include "base/compiler_specific.h" #include "base/logging.h" namespace base { int vsnprintf(char* buffer, size_t size, const char* format, va_list arguments) PRINTF_FORMAT(3, 0); size_t strlcpy(char* dst, const char* src, size_t dst_size); size_t wcslcpy(wchar_t* dst, const wchar_t* src, size_t dst_size); } // namespace base #if defined(OS_WIN) #include "base/strings/string_util_win.h" #elif defined(OS_POSIX) #include "base/strings/string_util_posix.h" #endif template inline typename string_type::value_type* WriteInto(string_type* str, size_t length_with_null) { DCHECK_NE(0u, length_with_null); str->reserve(length_with_null); str->resize(length_with_null - 1); if (length_with_null <= 1) return NULL; return &((*str)[0]); } #endif // MINI_CHROMIUM_BASE_STRINGS_STRING_UTIL_H_