iPXE
wchar.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 Michael Brown <mbrown@fensystems.co.uk>.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17  * 02110-1301, USA.
18  *
19  * You can also choose to distribute this program under the terms of
20  * the Unmodified Binary Distribution Licence (as given in the file
21  * COPYING.UBDL), provided that you have satisfied its requirements.
22  */
23 
24 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
25 
26 /**
27  * @file
28  *
29  * Wide-character strings
30  *
31  */
32 
33 #include <wchar.h>
34 
35 /**
36  * Calculate length of wide-character string
37  *
38  * @v string String
39  * @v max Maximum length (in wide characters)
40  * @ret len Length (in wide characters, excluding terminating NUL)
41  */
42 size_t wcsnlen ( const wchar_t *string, size_t max ) {
43  size_t len = 0;
44 
45  while ( max-- && *(string++) )
46  len++;
47  return len;
48 }
49 
50 /**
51  * Calculate length of wide-character string
52  *
53  * @v string String
54  * @ret len Length (in wide characters, excluding terminating NUL)
55  */
56 size_t wcslen ( const wchar_t *string ) {
57 
58  return wcsnlen ( string, ( ( ~( ( size_t ) 0 ) ) /
59  sizeof ( string[0] ) ) );
60 }
#define max(x, y)
Definition: ath.h:40
size_t wcsnlen(const wchar_t *string, size_t max)
Calculate length of wide-character string.
Definition: wchar.c:42
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t wcslen(const wchar_t *string)
Calculate length of wide-character string.
Definition: wchar.c:56
ring len
Length.
Definition: dwmac.h:231