Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6557 serge 1
/*
2
FUNCTION
3
	<>---get length of a complementary wide substring
4
 
5
ANSI_SYNOPSIS
6
	#include 
7
	size_t wcscspn(const wchar_t *<[s]>, wchar_t *<[set]>);
8
 
9
TRAD_SYNOPSIS
10
	size_t wcscspn(<[s]>, <[set]>
11
	const wchar_t *<[s]>;
12
	const wchar_t *<[set]>;
13
 
14
DESCRIPTION
15
	The <> 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 not from the wide-character string
18
	pointed to by <[set]>.
19
 
20
RETURNS
21
	The <> function returns the length of the initial substring of
22
	<[s1]>; no return value is reserved to indicate an error.
23
 
24
PORTABILITY
25
<> is ISO/IEC 9899/AMD1:1995 (ISO C).
26
 
27
No supporting OS subroutines are required.
28
*/
29
 
30
/*	$NetBSD: wcscspn.c,v 1.1 2000/12/23 23:14:36 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: wcscspn.c,v 1.1 1999/12/29 21:47:45 tshiozak Exp
58
 */
59
 
60
#include <_ansi.h>
61
#include 
62
 
63
size_t
64
_DEFUN (wcscspn, (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
	    goto done;
79
	  q++;
80
	}
81
      p++;
82
    }
83
 
84
done:
85
  return (p - s);
86
}