aboutsummaryrefslogtreecommitdiff
path: root/include/wchar.h
Commit message (Collapse)AuthorAgeFilesLines
* sys/_stdarg.h: drop cdefs.h and _types.h polutionBrooks Davis2025-06-111-1/+1
| | | | | | | | | Rely in sys/_visible for visibility macros and use __buitin_va_list instead of __va_list everywere we declare va_list. Reviewed by: imp Exp-run by: antoine (PR 286274) Pull Request: https://github.com/freebsd/freebsd-src/pull/1595
* Revert Make newly POSIX functions visibleStephen Hurd2025-03-201-5/+2
| | | | | | | | | | | | Summary: This reverts commit d7efac1be1441c122f7fb9de51a409172f21326c. This reverts commit 9d0eea9422d075c8a6924b33161d2d5abfb4072a. Some ports (specifically Python) define __BSD_VISIBLE themselves, so the change from __BSD_VISIBLE to __POSIX_VISIBLE >= 202405 makes them fail. Reported by: jrtc27, cperciva
* Make newly POSIX functions visibleStephen Hurd2025-03-191-2/+5
| | | | | | | | | Some of the POSIX 202405L functions are already in the system, make them visible when appropriate. Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47859
* include: ssp: fortify <wchar.h>Kyle Evans2024-07-131-1/+8
| | | | | | | | | | | | This includes all of the w*() equivalents to str*()/mem*() implemented in more or less the same way. For these ones, we'll just use header-only implementations from the start to stop further cluttering the libc symbol table. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45682
* Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* spdx: Simplify BSD-2-Clause AND BSD-2-ClauseWarner Losh2023-05-121-1/+1
| | | | | | | | | After removing the -FreeBSD and -NetBSD, we're left with a nuber of BSD-2-Clause AND BSD-2-Clause, so tidy that up. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSDWarner Losh2023-05-121-1/+1
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* libc: add mempcpy(3) and wmempcpy(3)Konstantin Belousov2021-07-151-0/+3
| | | | | | | Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31180
* SPDX: license IDs for some ISC-related files.Pedro F. Giffuni2017-12-081-1/+1
| | | | Notes: svn path=/head/; revision=326695
* include: General further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-251-0/+2
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using mis-identified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326192
* Add missing va_list to <wchar.h>.Ed Schouten2016-05-301-0/+7
| | | | | | | | It looks like va_list should always be defined when XSI is enabled. It moved over to the POSIX base in the 2008 edition. Notes: svn path=/head/; revision=300998
* include: Remove checks for __BSD_VISIBLE where redundant with __XSI_VISIBLEJilles Tjoelker2014-05-111-1/+1
| | | | | | | | | | | | or __POSIX_VISIBLE. Whenever <sys/cdefs.h> sets __BSD_VISIBLE to non-zero, it also sets __POSIX_VISIBLE and __XSI_VISIBLE to the newest version supported. No functional change is intended. Notes: svn path=/head/; revision=265878
* Rename __wchar_t so it no longer conflicts with __wchar_t from clang 3.4Tijl Coosemans2014-04-011-1/+1
| | | | | | | | | -fms-extensions. MFC after: 2 weeks Notes: svn path=/head/; revision=263998
* Add an implementation of open_memstream() and open_wmemstream(). TheseJohn Baldwin2013-02-271-0/+1
| | | | | | | | | | | | routines provide write-only stdio FILE objects that store their data in a dynamically allocated buffer. They are a string builder interface somewhat akin to a completely dynamic sbuf. Reviewed by: bde, jilles (earlier versions) MFC after: 1 month Notes: svn path=/head/; revision=247411
* Make the wchar_t type machine dependent.Andrew Turner2012-06-241-4/+2
| | | | | | | | | | | | | | | | | This is required for ARM EABI. Section 7.1.1 of the Procedure Call for the ARM Architecture (AAPCS) defines wchar_t as either an unsigned int or an unsigned short with the former preferred. Because of this requirement we need to move the definition of __wchar_t to a machine dependent header. It also cleans up the macros defining the limits of wchar_t by defining __WCHAR_MIN and __WCHAR_MAX in the same machine dependent header then using them to define WCHAR_MIN and WCHAR_MAX respectively. Discussed with: bde Notes: svn path=/head/; revision=237517
* Correctly expose xlocale functions if people include the headers in the wrongDavid Chisnall2012-03-281-1/+1
| | | | | | | | | order (as some ports apparently do). Approved by: dim (mentor) Notes: svn path=/head/; revision=233600
* Reapply 227753 (xlocale cleanup), plus some fixes so that it passes buildDavid Chisnall2012-03-041-0/+4
| | | | | | | | | universe with gcc. Approved by: dim (mentor) Notes: svn path=/head/; revision=232498
* Revert r231673 and r231682 for now, until we can run a full makeDimitry Andric2012-02-141-4/+0
| | | | | | | | | universe with them. Sorry for the breakage. Pointy hat to: me and brooks Notes: svn path=/head/; revision=231714
* Cleanup of xlocale:David Chisnall2012-02-141-0/+4
| | | | | | | | | | | | | | | | | | | - Address performance regressions encountered by das@ by caching per-thread data in TLS where available. - Add a __NO_TLS flag to cdefs.h to indicate where not available. - Reorganise the xlocale.h definitions into xlocale/*.h so that they can be included from multiple places. - Export the POSIX2008 subset of xlocale when POSIX2008 says it should be exported, independently of whether xlocale.h is included. - Fix the bug where programs using ctype functions always assumed ASCII unless recompiled. - Fix some style(9) violations. Reviewed by: brooks (mentor) Approved by: dim (mentor) Notes: svn path=/head/; revision=231673
* The spec says that FILE must be defined in wchar.h, but it wasn't. ItDavid Chisnall2011-11-131-17/+20
| | | | | | | | | | is now. Also hide some macros in C++ mode that will break C++ namespaced calls. Approved by: dim (mentor) Notes: svn path=/head/; revision=227487
* Remove NetBSD Foundation clauses 3 & 4. They eliminated those clausesWarner Losh2010-02-161-7/+0
| | | | | | | last year. Notes: svn path=/head/; revision=203963
* 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