aboutsummaryrefslogtreecommitdiff
path: root/include/wchar.h
Commit message (Collapse)AuthorAgeFilesLines
* Put the restrict qualifiers in the right place in the wcp[n]cpy prototypes.David Schultz2009-03-041-2/+2
| | | | | | | Submitted by: Pawel Worach <pawel.worach@gmail.com> Notes: svn path=/head/; revision=189365
* Add wcpcpy(3) and wcpncpy(3).David Schultz2009-03-041-0/+2
| | | | Notes: svn path=/head/; revision=189361
* - Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(),David Schultz2009-02-281-2/+8
| | | | | | | | | | | | | | | wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qualifiers in stpcpy(). - Declare off_t and size_t in stdio.h. - Bump __FreeBSD_version in case the new symbols (particularly getline()) cause issues with ports. Reviewed by: standards@ Notes: svn path=/head/; revision=189136
* Add a function attribute called `__malloc_like', which informs gccDavid Schultz2009-01-311-1/+1
| | | | | | | | | | | | | | | | | that the annotated function returns a pointer that doesn't alias any extant pointer. This results in a 50%+ speedup in microbenchmarks such as the following: char *cp = malloc(1), *buf = malloc(BUF); for (i = 0; i < BUF; i++) buf[i] = *cp; In real programs, your mileage will vary. Note that gcc already performs this optimization automatically for any function called `malloc', `calloc', `strdup', or `strndup' unless -fno-builtins is used. Notes: svn path=/head/; revision=187961
* Add an implementation of the semi-standard wcsdup() function, as foundTim J. Robbins2005-08-131-0/+1
| | | | | | | on Microsoft and GNU systems. Notes: svn path=/head/; revision=149011
* Implement wcwidth() as an inline function.Tim J. Robbins2004-08-121-0/+2
| | | | Notes: svn path=/head/; revision=133564
* Mark functions pure where applicable.Tim J. Robbins2004-07-231-11/+12
| | | | Notes: svn path=/head/; revision=132565
* Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These areTim J. Robbins2004-07-211-0/+4
| | | | | | | | | | convenient when the source string isn't null-terminated. Implement the other conversion functions (mbstowcs(), mbsrtowcs(), wcstombs(), wcsrtombs()) in terms of these new functions. Notes: svn path=/head/; revision=132497
* Add fgetwln(), a wide character version of fgetln().Tim J. Robbins2004-07-161-0/+1
| | | | Notes: svn path=/head/; revision=132242
* Fix typo in putwc().Tim J. Robbins2004-06-071-1/+1
| | | | | | | Noticed by: stefanf Notes: svn path=/head/; revision=130185
* Bring back the macro versions of getwc(), getwchar(), putwc() andTim J. Robbins2004-05-271-0/+12
| | | | | | | | putwchar(), but this time avoid redundantly declaring __stdinp and __stdoutp when source files include both <stdio.h> and <wchar.h>. Notes: svn path=/head/; revision=129774
* Revert to rev. 1.36 until issues with -Wredundant-decls are sorted out.Tim J. Robbins2004-05-251-8/+0
| | | | Notes: svn path=/head/; revision=129713
* Fix typo in previous: getwc() should call fgetwc(), not the functionTim J. Robbins2004-05-251-1/+1
| | | | | | | | | version of itself. Noticed by: stefanf Notes: svn path=/head/; revision=129710
* Provide trivial macro implementations of getwc(), getwchar(), putwc() andTim J. Robbins2004-05-251-0/+8
| | | | | | | putwchar() to reduce function call overhead. Notes: svn path=/head/; revision=129705
* Change the definition of NULL on ia64 (for LP64 compilations) fromMarcel Moolenaar2003-12-071-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always passed in registers on ia64, which by virtue of the generated code implicitly widens ints to longs and allows the use of an 32-bit integral type for 64-bit arguments. Subsequent arguments are passed onto the memory stack, which does not exhibit the same behaviour and consequently do not allow this. In practice this means that variadic functions taking pointers and given NULL (without cast) work as long as the NULL is passed in one of the first 8 arguments. A SIGSEGV is more likely the result if such would be done for stack-based arguments. This is due to the fact that the upper 4 bytes remain undefined. 2. All 64-bit platforms that FreeBSD supports, with the obvious exception of ia64, allow 32-bit integral types (specifically NULL) when 64-bit pointers are expected in variadic functions by way of how the compiler generates code. As such, code that works correctly (whether rightfully so or not) on any platform other than ia64, may fail on ia64. To more easily allow tweaking of the definition of NULL, this commit removes the 12 definitions in the various headers and puts it in a new header that can be included whenever NULL is to be made visible. This commit fixes GNOME, emacs, xemacs and a whole bunch of ports that I don't particularly care about at this time... Notes: svn path=/head/; revision=123257
* Add definitions for WCHAR_MIN and WCHAR_MAX.Alexander Kabaev2003-04-281-0/+6
| | | | Notes: svn path=/head/; revision=114185
* MFp4: Implementations of the wcstof() and wcstold() functions.Tim J. Robbins2003-03-131-0/+3
| | | | Notes: svn path=/head/; revision=112177
* Correct visibility for v*wscanf(), wcstoll() and wcstoull(). These functionsTim J. Robbins2002-10-271-9/+16
| | | | | | | | did not exist in ISO C Amd. 1. Add #ifdef __LONG_LONG_SUPPORTED and lint comments around wcstoll() and wcstoull(). Notes: svn path=/head/; revision=106035
* Add a placeholder implementation of wcscoll() and wcsxfrm() which givesTim J. Robbins2002-10-041-0/+2
| | | | | | | | locale-sensitive collation only in single-byte locales, and just does binary comparison for the others with extended character sets. Notes: svn path=/head/; revision=104443
* Remove masking macros for getwc(), putwc(), putwchar() and getwchar().Tim J. Robbins2002-09-281-5/+0
| | | | | | | | | Although there was nothing wrong with getwc() and putwc(), getwchar() and putwchar() assumed that <stdio.h> had been included before <wchar.h>, which is not allowed by the standard. Notes: svn path=/head/; revision=104080
* Add implementations of wscanf() and related functions: fwscanf(), swscanf(),Tim J. Robbins2002-09-231-0/+8
| | | | | | | | vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide- character versions of the scanf() family of functions. Notes: svn path=/head/; revision=103856
* Add the remaining C99 wide character string to integer conversion functions.Tim J. Robbins2002-09-221-0/+4
| | | | | | | | Restrict qualifiers were added to the existing prototypes in <inttypes.h> and the typedef for wchar_t was removed. Notes: svn path=/head/; revision=103793
* Add implementations of the wprintf() family of functions, which performTim J. Robbins2002-09-211-0/+9
| | | | | | | formatted wide-character output. Notes: svn path=/head/; revision=103739
* Restrict visibility of wcslcat() and wcslcpy() to the __BSD_VISIBLE case.Tim J. Robbins2002-09-211-2/+5
| | | | Notes: svn path=/head/; revision=103737
* Add wcstod() as a wrapper around strtod(). It does not handle any charactersTim J. Robbins2002-09-151-0/+1
| | | | | | | that strtod() does not (alternate digit characters, etc. are not handled). Notes: svn path=/head/; revision=103339
* Style: tab between #define and macro name.Tim J. Robbins2002-09-121-4/+4
| | | | Notes: svn path=/head/; revision=103269
* Protect arguments to the putwc and putwchar macros with parens.Tim J. Robbins2002-09-121-2/+2
| | | | Notes: svn path=/head/; revision=103246
* Add an implementation of wcsftime() (wide character version of strftime()).Tim J. Robbins2002-09-111-0/+3
| | | | Notes: svn path=/head/; revision=103218
* Replace FILE with struct __sFILE in the prototypes for the wide characterTim J. Robbins2002-09-101-10/+10
| | | | | | | | | I/O functions to avoid having to bring in pollution from <stdio.h>. Suggested by: bde Notes: svn path=/head/; revision=103177
* Remove the typedef of wctype_t from this header; we don't support theTim J. Robbins2002-09-091-5/+0
| | | | | | | | XSI mistake of making everything from <wctype.h> visible here. If we did choose to support it, we could just #include <wctype.h>. Notes: svn path=/head/; revision=103118
* Add wcstol() and wcstoul(), based on strtol() and strtoul().Tim J. Robbins2002-09-081-0/+3
| | | | Notes: svn path=/head/; revision=103097
* Add an implementation of wcstok(), based on strtok_r().Tim J. Robbins2002-09-071-0/+2
| | | | Notes: svn path=/head/; revision=103067
* Add restrict qualifiers to wcsstr()'s arguments.Tim J. Robbins2002-09-071-1/+1
| | | | Notes: svn path=/head/; revision=103058
* Style: One space between "restrict" qualifier and "*".Tim J. Robbins2002-09-061-2/+2
| | | | Notes: svn path=/head/; revision=103012
* o Merge <machine/ansi.h> and <machine/types.h> into a new headerMike Barcroft2002-08-211-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien Notes: svn path=/head/; revision=102227
* Restrict visibility of wcwidth() and wcswidth(); they are XSI extensions.Tim J. Robbins2002-08-201-2/+5
| | | | Notes: svn path=/head/; revision=102198
* Sort unsorted prototypesAndrey A. Chernov2002-08-191-1/+1
| | | | Notes: svn path=/head/; revision=102142
* Activate (uncomment) wcwidth() and wcswidth() now implementedAndrey A. Chernov2002-08-191-3/+0
| | | | Notes: svn path=/head/; revision=102140
* Implement the ISO C90 Amd.1 restartable wide and multibyte characterTim J. Robbins2002-08-181-9/+0
| | | | | | | | manipulation functions mbrlen(), mbrtowc(), mbsinit(), mbsrtowcs(), wcrtomb(), wcsrtombs(). Notes: svn path=/head/; revision=102050
* Basic support for wide character I/O: getwc(), fgetwc(), getwchar(),Tim J. Robbins2002-08-131-0/+22
| | | | | | | putwc(), fputwc(), putwchar(), ungetwc(), fwide(). Notes: svn path=/head/; revision=101776
* Sort prototypes by function name.Tim J. Robbins2002-08-061-10/+8
| | | | Notes: svn path=/head/; revision=101411
* Whitespace formatting changes: line up macro bodies, function names,Tim J. Robbins2002-08-061-13/+13
| | | | | | | | | place tabs after #define and typedef. Sort typedefs by name. Requested by: mike Notes: svn path=/head/; revision=101409
* Change wctype_t to an unsigned type to avoid warnings.Tim J. Robbins2002-08-041-1/+1
| | | | Notes: svn path=/head/; revision=101314
* Add ISO C90 Amd. 1 btowc(3) and wctob(3) functions.Tim J. Robbins2002-08-031-0/+3
| | | | Notes: svn path=/head/; revision=101267
* Add ISO C90 Amd. 1 wctype(3) and iswctype(3) functions.Tim J. Robbins2002-08-031-0/+5
| | | | Notes: svn path=/head/; revision=101253
* Don't define wchar_t if we are a C++ compiler.David E. O'Brien2002-07-091-0/+2
| | | | | | | PR: 31864, 40084 Notes: svn path=/head/; revision=99640
* Breath deep and take __P out of the system include files.Warner Losh2002-03-231-34/+32
| | | | | | | | | # This appears to not break X11, but I'm having problems compiling the # glide part of the server with or without this patch, so I can't tell # for sure. Notes: svn path=/head/; revision=93032
* VCS ID fixupDavid E. O'Brien2001-07-101-2/+2
| | | | Notes: svn path=/head/; revision=79555
* adapt to FreeBSD.Takuya SHIOZAKI2001-05-151-1/+12
| | | | | | | | | | | | | | | - add #define NULL 0 instead of sys/null.h. - enable locale-insensitive functions: wcscat.c wcschr.c wcscmp.c wcscpy.c wcscspn.c wcslcat.c wcslcpy.c wcslen.c wcsncat.c wcsncmp.c wcsncpy.c wcspbrk.c wcsrchr.c wcsspn.c wcsstr.c wmemchr.c wmemcmp.c wmemcpy.c wmemmove.c wmemset.c - disable some locale-sensitive functions defined in wchar.h temporarily: mbrlen mbrtowc mbsinit mbsrtowcs wcrtomb wcsrtombs wcwidth wcswidth - disable all functions defined in wctype.h temporarily: is* tow* Notes: svn path=/head/; revision=76636
* initial import of wchar.h and wctype.hTakuya SHIOZAKI2001-05-151-0/+136
Obtained from: NetBSD and Citrus XPG4DL Notes: svn path=/head/; revision=76633