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 FILE_SECBOOT ( PERMITTED );
26 
27 /**
28  * @file
29  *
30  * Wide-character strings
31  *
32  */
33 
34 #include <wchar.h>
35 
36 /**
37  * Calculate length of wide-character string
38  *
39  * @v string String
40  * @v max Maximum length (in wide characters)
41  * @ret len Length (in wide characters, excluding terminating NUL)
42  */
43 size_t wcsnlen ( const wchar_t *string, size_t max ) {
44  size_t len = 0;
45 
46  while ( max-- && *(string++) )
47  len++;
48  return len;
49 }
50 
51 /**
52  * Calculate length of wide-character string
53  *
54  * @v string String
55  * @ret len Length (in wide characters, excluding terminating NUL)
56  */
57 size_t wcslen ( const wchar_t *string ) {
58 
59  return wcsnlen ( string, ( ( ~( ( size_t ) 0 ) ) /
60  sizeof ( string[0] ) ) );
61 }
#define max(x, y)
Definition: ath.h:41
size_t wcsnlen(const wchar_t *string, size_t max)
Calculate length of wide-character string.
Definition: wchar.c:43
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t wcslen(const wchar_t *string)
Calculate length of wide-character string.
Definition: wchar.c:57
ring len
Length.
Definition: dwmac.h:231
FILE_SECBOOT(PERMITTED)