LCOV - code coverage report
Current view: directory - ipc/chromium/src/base - string16.cc (source / functions) Found Hit Coverage
Test: app.info Lines: 28 0 0.0 %
Date: 2012-06-02 Functions: 6 0 0.0 %

       1                 : // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
       2                 : // Use of this source code is governed by a BSD-style license that can be
       3                 : // found in the LICENSE file.
       4                 : 
       5                 : #include "base/string16.h"
       6                 : 
       7                 : #if defined(WCHAR_T_IS_UTF16)
       8                 : 
       9                 : #error This file should not be used on 2-byte wchar_t systems
      10                 : // If this winds up being needed on 2-byte wchar_t systems, either the
      11                 : // definitions below can be used, or the host system's wide character
      12                 : // functions like wmemcmp can be wrapped.
      13                 : 
      14                 : #elif defined(WCHAR_T_IS_UTF32)
      15                 : 
      16                 : #include "base/string_util.h"
      17                 : 
      18                 : namespace base {
      19                 : 
      20               0 : int c16memcmp(const char16* s1, const char16* s2, size_t n) {
      21                 :   // We cannot call memcmp because that changes the semantics.
      22               0 :   while (n-- > 0) {
      23               0 :     if (*s1 != *s2) {
      24                 :       // We cannot use (*s1 - *s2) because char16 is unsigned.
      25               0 :       return ((*s1 < *s2) ? -1 : 1);
      26                 :     }
      27               0 :     ++s1;
      28               0 :     ++s2;
      29                 :   }
      30               0 :   return 0;
      31                 : }
      32                 : 
      33               0 : size_t c16len(const char16* s) {
      34               0 :   const char16 *s_orig = s;
      35               0 :   while (*s) {
      36               0 :     ++s;
      37                 :   }
      38               0 :   return s - s_orig;
      39                 : }
      40                 : 
      41               0 : const char16* c16memchr(const char16* s, char16 c, size_t n) {
      42               0 :   while (n-- > 0) {
      43               0 :     if (*s == c) {
      44               0 :       return s;
      45                 :     }
      46               0 :     ++s;
      47                 :   }
      48               0 :   return 0;
      49                 : }
      50                 : 
      51               0 : char16* c16memmove(char16* s1, const char16* s2, size_t n) {
      52               0 :   return reinterpret_cast<char16*>(memmove(s1, s2, n * sizeof(char16)));
      53                 : }
      54                 : 
      55               0 : char16* c16memcpy(char16* s1, const char16* s2, size_t n) {
      56               0 :   return reinterpret_cast<char16*>(memcpy(s1, s2, n * sizeof(char16)));
      57                 : }
      58                 : 
      59               0 : char16* c16memset(char16* s, char16 c, size_t n) {
      60               0 :   char16 *s_orig = s;
      61               0 :   while (n-- > 0) {
      62               0 :     *s = c;
      63               0 :     ++s;
      64                 :   }
      65               0 :   return s_orig;
      66                 : }
      67                 : 
      68                 : }  // namespace base
      69                 : 
      70                 : template class std::basic_string<char16, base::string16_char_traits>;
      71                 : 
      72                 : #endif  // WCHAR_T_IS_UTF32

Generated by: LCOV version 1.7