OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [string/] [wcsspn.c] - Blame information for rev 171

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.