Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2. FUNCTION
  3.         <<wcslen>>---get wide-character string length
  4.  
  5. ANSI_SYNOPSIS
  6.         #include <wchar.h>
  7.         size_t wcslen(const wchar_t *<[s]>);
  8.  
  9. TRAD_SYNOPSIS
  10.         size_t wcslen(<[s]>
  11.         const wchar_t *<[s]>;
  12.  
  13. DESCRIPTION
  14.         The <<wcslen>> function computes the number of wide-character codes
  15.         in the wide-character string to which <[s]> points, not including the
  16.         terminating null wide-character code.
  17.  
  18. RETURNS
  19.         The <<wcslen>> function returns the length of <[s]>; no return value is
  20.         reserved to indicate an error.
  21.  
  22. PORTABILITY
  23. <<wcslen>> is ISO/IEC 9899/AMD1:1995 (ISO C).
  24.  
  25. No supporting OS subroutines are required.
  26. */
  27.  
  28. /*      $NetBSD: wcslen.c,v 1.1 2000/12/23 23:14:36 itojun Exp $        */
  29.  
  30. /*-
  31.  * Copyright (c)1999 Citrus Project,
  32.  * All rights reserved.
  33.  *
  34.  * Redistribution and use in source and binary forms, with or without
  35.  * modification, are permitted provided that the following conditions
  36.  * are met:
  37.  * 1. Redistributions of source code must retain the above copyright
  38.  *    notice, this list of conditions and the following disclaimer.
  39.  * 2. Redistributions in binary form must reproduce the above copyright
  40.  *    notice, this list of conditions and the following disclaimer in the
  41.  *    documentation and/or other materials provided with the distribution.
  42.  *
  43.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  44.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  45.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  46.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  47.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  48.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  49.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  50.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  51.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  53.  * SUCH DAMAGE.
  54.  *
  55.  *      citrus Id: wcslen.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp
  56.  */
  57.  
  58. #include <_ansi.h>
  59. #include <wchar.h>
  60.  
  61. size_t
  62. _DEFUN (wcslen, (s),
  63.         _CONST wchar_t * s)
  64. {
  65.   _CONST wchar_t *p;
  66.  
  67.   p = s;
  68.   while (*p)
  69.     p++;
  70.  
  71.   return p - s;
  72. }
  73.