Matt Joyce
3266a46327
Add _REENT_STDOUT(ptr)
...
Add a _REENT_STDOUT() macro to encapsulate access to the _stdout
member of struct reent. This will help to replace the struct
member with a thread-local storage object in a follow up patch.
2022-07-13 06:55:46 +02:00
Matt Joyce
627a5cb413
Add _REENT_STDIN(ptr)
...
Add a _REENT_STDIN() macro to encapsulate access to the _stdin
member of struct reent. This will help to replace the struct
member with a thread-local storage object in a follow up patch.
2022-07-13 06:55:46 +02:00
Torbjörn SVENSSON
ea275093c1
libc/include/wchar.h: Remove parameter name
...
As discussed in GCC bug 97088
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97088 ), parameters in
prototypes of library functions should use reserved names, or no name
at all.
This patch removes the 'ptr' parameter name from
wint_t _getwchar_r (struct _reent *);
wint_t _getwchar_unlocked_r (struct _reent *);
to avoid possible clashes with user code in case someone uses
before including Newlib's wchar.h (or uses some other conflicting
definition)
Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@st.com>
2020-10-02 17:02:28 -04:00
Corinna Vinschen
ad101bcb0f
Rename <xlocale.h> back to <sys/_locale.h>
...
libX11 provides <X11/Xlocale.h>. The build of libX11 itself adds
include/X11 to the compiler's include path. This results in a name
collision with /usr/include/xlocale.h on case-insensitive filesystems.
Commit 90e35b1eb3
renamed sys/_locale.h to xlocale.h in March 2017 under
the assumption that we should provide the locale_t type in the same file
as on Linux, FreeBSD, and Darwin.
A few weeks later (June 2017), glibc removed the xlocale.h file in favor
of bits/types/locale_t.h, which shouldn't be included directly anyway.
For reference and the reasoning, see
https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336d
Given the above, revert 90e35b1eb3
and
fix additional usage of xlocale.h.
2019-06-14 10:02:08 +02:00
Sebastian Huber
201bbec6e4
Add attributes to malloc-like functions
...
These attributes help static analysis tools to produce less false
positives, e.g. double free warnings.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2018-10-10 07:40:06 +02:00
Yaakov Selkowitz
70ee6b17df
ansification: remove _EXFUN, _EXFUN_NOTHROW
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:29 -06:00
Yaakov Selkowitz
8f7c712bb8
ssp: add Object Size Checking for wchar.h, part 1
...
The following functions are also guarded in glibc:
fwprintf, swprintf, wprintf, vfwprintf, vswprintf, vwprintf.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-12-04 04:09:46 -06:00
Yaakov Selkowitz
8a94bca694
string: add wmempcpy
...
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-11-30 04:06:49 -06:00
Yaakov Selkowitz
90e35b1eb3
Rename <sys/_locale.h> to <xlocale.h>
...
The locale_t type is provided by <xlocale.h> on Linux, FreeBSD, and Darwin.
While, like on some of those systems, it is automatically included by
<locale.h> with the proper feature test macros, its presence under this
particular name is still presumed in real-world software.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2017-03-22 10:03:45 +01:00
Corinna Vinschen
e636fe3d48
Implement GNU extension wcsftime_l
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-23 17:51:14 +02:00
Corinna Vinschen
238455adfa
Implement strto[dflu]_l/wcsto[dflu]_l
...
Implement GNU extensions strtod_l, strtof_l, strtol_l, strtold_l, strtoll_l,
strtoul_l, strtoull_l, wcstod_l, wcstof_l, wcstol_l, wcstold_l, wcstoll_l,
wcstoul_l, wcstoull_l.
Export from Cygwin, fix posix.xml.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 17:35:21 +02:00
Corinna Vinschen
7156bf842e
Add sys/_locale.h header and fix up headers
...
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:58 +02:00
Corinna Vinschen
c1b7d9d93d
Implement per-locale string functions
...
strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l,
wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l,
strftime_l.
Add missing CHEWOUT_FILES from previous patch.
TODO: strfmon_l.
Signed-off by: Corinna Vinschen <corinna@vinschen.de>
2016-08-15 10:56:58 +02:00
Yaakov Selkowitz
51b669f679
Do not include wctype.h in wchar.h with _GNU_SOURCE
...
_GNU_SOURCE generally enables all features, but in this case the POSIX
requirement to #include <wctype.h> for these is preferred.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-08-12 13:44:26 -05:00
Yaakov Selkowitz
b14a1dbc86
Define va_list in stdio.h and wchar.h
...
This typedef, along with that of FILE in wchar.h, were XSI prior to
inclusion in POSIX.1-2008.
Fixes: https://sourceware.org/ml/newlib/2016/msg00640.html
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-08-12 11:43:14 -05:00
Yaakov Selkowitz
1e22b408b2
Include wctype.h in wchar.h as an XSI extension
...
However, note that this inclusion is obsolescent in SUSv4 and therefore
may be removed in the next revision.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wchar.h.html
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-08-11 16:33:43 -05:00
Yaakov Selkowitz
d2e0e14ef7
Feature test macros overhaul: wchar.h, part 2
...
Many wchar.h functions were never properly guarded; these changes should
make the header fully compliant.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-08-11 11:18:18 +02:00
Yaakov Selkowitz
73e2f46419
Feature test macros overhaul: wchar.h
...
open_wmemstream is POSIX.1-2008.
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2016-03-17 21:09:13 -05:00
Corinna Vinschen
5a97e28f6a
* libc/include/stdio.h (FILE): Protect typedef from redefinition.
...
* libc/include/wchar.h: Ditto.
2015-03-05 17:15:24 +00:00
Corinna Vinschen
f2eb8ca8bf
* libc/include/wchar.h (wcstold): Drop _LDBL_EQ_DBL requirement for
...
declaration.
2015-02-04 11:02:36 +00:00
Yaakov Selkowitz
968738f9b1
Implement BSD/GNU unlocked stdio extensions.
...
* libc/include/stdio.h (clearerr_unlocked, feof_unlocked,
ferror_unlocked, fflush_unlocked, fgetc_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked,
fwrite_unlocked): Declare.
* libc/include/wchar.h (fgetwc_unlocked, fgetws_unlocked,
fputwc_unlocked, fputws_unlocked, getwc_unlocked, getwchar_unlocked,
putwc_unlocked, putwchar_unlocked): Declare.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add clearerr_u.c,
feof_u.c, ferror_u.c, fflush_u.c, fgetc_u.c, fgets_u.c, fgetwc_u.c,
fgetws_u.c, fileno_u.c, fputc_u.c, fputs_u.c, fputwc_u.c, fputws_u.c,
fread_u.c, fwrite_u.c, getwc_u.c, getwchar_u.c, putwc_u.c, putwchar_u.c.
Add necessary dependencies.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/clearerr.c: Document unlocked variant.
* libc/stdio/clearerr_u.c: New file.
* libc/stdio/feof.c: Document unlocked variant.
* libc/stdio/feof_u.c: New file.
* libc/stdio/ferror.c: Document unlocked variant.
* libc/stdio/ferror_u.c: New file.
* libc/stdio/fflush.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fflush_u.c: New file.
* libc/stdio/fgetc.c: Document unlocked variants.
* libc/stdio/fgetc_u.c: New file.
* libc/stdio/fgets.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgets_u.c: New file.
* libc/stdio/fgetwc.c: Document unlocked variants.
(__fgetwc): Make non-static.
* libc/stdio/fgetwc_u.c: New file.
* libc/stdio/fgetws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgetws_u.c: New file.
* libc/stdio/fileno.c: Document unlocked variant.
* libc/stdio/fileno_u.c: New file.
* libc/stdio/fputc.c: Document unlocked variants.
* libc/stdio/fputc_u.c: New file.
* libc/stdio/fputs.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputs_u.c: New file.
* libc/stdio/fputwc.c: Document unlocked variants.
(__fputwc): Make non-static.
* libc/stdio/fputwc_u.c: New file.
* libc/stdio/fputws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputws_u.c: New file.
* libc/stdio/fread.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fread_u.c: New file.
* libc/stdio/fwrite.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fwrite_u.c: New file.
* libc/stdio/getwc_u.c: New file.
* libc/stdio/getwchar.c: Document unlocked variants.
* libc/stdio/getwchar_u.c: New file.
* libc/stdio/local.h: Define locking macros as empty ifdef
__IMPL_UNLOCKED__.
(__fgetwc, __fputwc): Declare.
* libc/stdio/putwc_u.c: New file.
* libc/stdio/putwchar.c: Document unlocked variants.
* libc/stdio/putwchar_u.c: New file.
2014-12-18 14:55:21 +00:00
Corinna Vinschen
c57ccec649
* libc/include/stdint.h (WCHAR_MIN): Copy definition from wchar.h.
...
(WCHAR_MAX): Ditto.
* libc/include/wchar.h (WCHAR_MIN): Add comment.
(WCHAR_MAX): Ditto.
2014-05-12 17:02:11 +00:00
Jeff Johnston
b153931f18
2013-12-22 JF Bastien <jfb@chromium.org>
...
* libc/include/limits.h: Define LLONG_MIN, LLONG_MAX and ULLONG_MAX
for C++11 too.
* libc/include/stdlib.h: Define struct lldiv_t, _Exit, atoll, llabs
and lldiv for C99 and C++11. Move wcstold to wchar.h.
* libc/include/wchar.h: Define WCHAR_MIN and WCHAR_MAX according to
__WCHAR_UNSIGNED__ if it is provided, and correct the limit when
unsigned (to 32 all-1 bits, not 31). Define FILE as in stdio.h.
Move wcstold from stdlib.h here.
2013-12-23 19:21:07 +00:00
Joel Sherrill
380c9f6165
2013-11-26 Julio Gutierrez <jgutleyva@gmail.com>
...
*libc/include/wchar.h: Add restrict keyword.
*libc/stdio/fgetws.c (fgetws): ditto.
*libc/stdio/fputws.c (fputws): ditto.
*libc/stdio/fwprintf.c (fwprintf): ditto.
*libc/stdio/fwscanf.c (fwscanf): ditto.
*libc/stdio/swprintf.c (swprintf): ditto.
*libc/stdio/swscanf.c (swscanf): ditto.
*libc/stdio/vfwprintf.c (vfwprintf): ditto.
*libc/stdio/vfwscanf.c (vfwscanf): ditto.
*libc/stdio/vswprintf.c (vswprintf): ditto.
*libc/stdio/vswscanf.c (vswscanf): ditto.
*libc/stdio/vwprintf.c (vwprintf): ditto.
*libc/stdio/vwscanf.c (vwscanf): ditto.
*libc/stdio/wprintf.c (wprintf): ditto.
*libc/stdio/wscanf.c (wscanf): ditto.
*libc/stdlib/mbrlen.c (mbrlen): ditto.
*libc/stdlib/mbrtowc.c (mbrtowc): ditto.
*libc/stdlib/mbsnrtowcs.c (mbsnrtowcs): ditto.
*libc/stdlib/mbsrtowcs.c (mbsrtowcs): ditto.
*libc/stdlib/wcrtomb.c (wcrtomb): ditto.
*libc/stdlib/wcsnrtombs.c (wcsnrtombs): ditto.
*libc/stdlib/wcsrtombs.c (wcsrtombs): ditto.
*libc/stdlib/wcstod.c (wcstod): ditto.
*libc/stdlib/wcstol.c (wcstol): ditto.
*libc/stdlib/wcstold.c (wcstold): ditto.
*libc/stdlib/wcstoll.c (wcstoll): ditto.
*libc/stdlib/wcstoul.c (wcstoul): ditto.
*libc/stdlib/wcstoull.c (cstoull): ditto.
*libc/string/wcpcpy.c (wcpcpy): ditto.
*libc/string/wcpncpy.c (wcpncpy): ditto.
*libc/string/wcscat.c (wcscat): ditto.
*libc/string/wcscpy.c (wcscpy): ditto.
*libc/string/wcsncat.c (wcsncat): ditto.
*libc/string/wcsncpy.c (wcsncpy): ditto.
*libc/string/wcsstr.c (wcsstr): ditto.
*libc/string/wcstok.c (wcstok): ditto.
*libc/string/wcsxfrm.c (wcsxfrm): ditto.
*libc/string/wmemcpy.c (wmemcpy): ditto.
2013-11-26 17:21:01 +00:00
Joel Sherrill
d482870337
2013-11-25 Sahil Patnayakuni <sahil.patnayakuni@gmail.com>
...
* libc/include/time.h (time): Add restrict keyword.
* libc/include/wchar.h (wcsftime): Add restrict keyword.
* libc/time/asctime_r.c (asctime_r): Same.
* libc/time/gmtime_r.c (gmtime_r): Same.
* libc/time/lcltime_r.c (lcltime_r): Same.
* libc/time/strftime.c (strftime): Same.
* libc/time/strptime.c (strptime): Same.
* libc/sys/linux/linuxthreads/timer_create.c (timer_create): Same.
* libc/sys/linux/linuxthreads/timer_settime.c (timer_settime): Same.
2013-11-25 13:46:23 +00:00
Jeff Johnston
27ad840ea5
2013-06-26 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/stdio.h: Specify std streams always in terms
of _REENT.
* libc/include/wchar.h: Ditto.
* libc/include/sys/reent.h: Remove _RENT_ONLY check around
setting of _REENT macro.
2013-06-26 21:34:16 +00:00
Corinna Vinschen
de1e3bb2c9
* libc/include/locale.h (NULL): Fetch definition via stddef.h.
...
* libc/include/stdio.h (NULL): Ditto.
* libc/include/stdlib.h (NULL): Ditto.
* libc/include/string.h (NULL): Ditto.
* libc/include/wchar.h (NULL): Ditto.
* libc/include/rpc/types.h (NULL): Ditto.
* libc/include/time.h (NULL): Ditto. Include stddef.h earlier.
2012-11-01 11:51:12 +00:00
Corinna Vinschen
7cc6d7cfc6
* libc/include/sys/features.h: Define __STDC_ISO_10646__ for Cygwin.
...
* libc/include/wchar.h: Include features.h.
2011-01-27 11:55:01 +00:00
Corinna Vinschen
1b13009b2a
* libc/include/wchar.h (struct tm0: Declare as incomplete type.
2009-10-15 08:23:27 +00:00
Corinna Vinschen
159a17c8c8
* libc/include/wchar.h (wcsdup, _wcsdup_r): Declare.
...
* libc/string/Makefile.am: Add wcsdup.c.
* libc/string/Makefile.in: Regenerate.
* libc/string/strings.tex: Add wcsdup documentation reference.
* libc/string/wcsdup.c: New file.
2009-03-15 13:39:07 +00:00
Corinna Vinschen
dc48005c28
* libc/include/wchar.h (wcscasecmp, wcsncasecmp): Declare.
...
* libc/string/Makefile.am: Add wcscasecmp.c, wcsncasecmp.c
* libc/stdio/Makefile.in: Regenerate.
* libc/string/strings.tex: Add new documentation references.
* libc/string/wcscasecmp.c: New file.
* libc/string/wcsncasecmp.c: New file.
2009-03-11 12:57:53 +00:00
Corinna Vinschen
d0b85c158f
* libc/include/wchar.h (fwscanf, swscanf, vfwscanf, vswscanf, vwscanf,
...
wscanf): Declare.
(_fwscanf_r, _swscanf_r, _vfwscanf_r, _vswscanf_r, _vwscanf_r,
_wscanf_r): Declare.
* libc/stdio/Makefile.am: Add new wscanf files.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fwscanf.c: New file.
* libc/stdio/local.h (__svfwscanf_r, __ssvfwscanf_r, __svfiwscanf_r,
__ssvfiwscanf_r): Declare.
* libc/stdio/stdio.tex: Add new documentation references.
* libc/stdio/swscanf.c: New file.
* libc/stdio/vfwscanf.c: New file.
* libc/stdio/vswscanf.c: New file.
* libc/stdio/vwscanf.c: New file.
* libc/stdio/wscanf.c: New file.
* libc/stdio/vfscanf.c (_sungetc_r): Make externaly available. Only
define if INTEGER_ONLY is defined. Declare otherwise.
(__ssrefill_r): Ditto.
(_sfread_r): Ditto.
Remove static eofread/eofread1 functions and use __seofread
function instead, throughout.
* libc/stdio/local.h (__seofread): Declare.
* libc/stdio/stdio.c (__seofread): Define.
* libc/stdio/fgetwc.c (__fgetwc): Fix compiler warning.
* libc/stdio/fgetws.c (_fgetws_r): Ditto.
* libc/stdio/fread.c (_fread_r): Ditto.
* libc/stdio/vfprintf.c: Ditto.
* libc/stdio/vswprintf.c: Ditto.
2009-03-11 11:53:22 +00:00
Corinna Vinschen
3c4becbe18
* libc/time/strftime.c: Adapt for dual-purpose use so not only
...
defines strftime(), but can also define wcsftime(); add optional
test package; speed up %Y handling.
* libc/time/wcsftime.c: New file, defining wcsftime() (albeit
indirectly by including strftime.c) and its documentation.
* libc/time/time.tex: Enhance tm_isdst explanation, change strftime
description to match modified description in strftime.c
* libc/time/Makefile.am: Add wcsftime.c and wcsftime.def. Add a rule
so that wcsftime.o gets rebuilt when strftime changes.
* libc/time/Makefile.in: Regenerate.
* libc/include/wchar.h (wcsftime): Declare.
2009-03-09 12:35:03 +00:00
Corinna Vinschen
6121968b19
* libc/include/stdio.h (__VALIST): Guard against multiple definition.
...
* libc/include/wchar.h: Include stdarg.h.
(__VALIST): Define conditionally.
(fwprintf, swprintf, vfwprintf, vswprintf, vwprintf, wprintf: Declare.
(_fwprintf_r, _swprintf_r, _vfwprintf_r, _vswprintf_r, _vwprintf_r,
_wprintf_r): Declare.
* libc/stdio/Makefile.am: Add new files.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fwprintf.c: New file.
* libc/stdio/local.h (_svfwprintf_r, _svfiwprintf_r): Declare.
(__CH_CLASS, __STATE, __ACTION): Move definition from vfprintf.c here
and move to the __ namespace.
(__chclass, __state_table, __action_table): Declare.
* libc/stdio/stdio.tex: Add new documentation references.
* libc/stdio/swprintf.c: New file.
* libc/stdio/vfprintf.c (__SPRINT): New macro to call the right
__sprint_r function according to compilation unit. Use throughout.
(__ssprint_r): Rename STRING_ONLY variant from __sprint_r.
Make externaly available. Only define if INTEGER_ONLY is defined.
(__sprint_r): Make externaly available. Only define if INTEGER_ONLY
is defined. Handle stream orientation.
(__sbprintf): Copy FILE's _flags2 member as well.
(__chclass, __state_table, __action_table): Prepend __ to name and
make externally available.
* libc/stdio/vfwprintf.c: New file.
* libc/stdio/vswprintf.c: New file.
* libc/stdio/vwprintf.c: New file.
* libc/stdio/wprintf.c: New file.
2009-03-06 09:55:52 +00:00
Corinna Vinschen
2e10d61ccb
* libc/include/wchar.h (mbsnrtowcs): Declare.
...
(_mbsnrtowcs_r): Declare.
(wcsnrtombs): Declare.
(_wcsnrtombs_r): Declare.
* libc/stdlib/Makefile.am (ELIX_2_SOURCES): Add mbsnrtowcs.c
and wcsnrtombs.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/mbsnrtowcs.c: New file, implementing _mbsnrtowcs_r
and mbsnrtowcs. Document mbsnrtowcs and mbsrtowcs.
* libc/stdlib/mbsrtowcs.c (_mbsrtowcs_r): Just call _mbsnrtowcs_r.
(mbsrtowcs): Ditto.
* libc/stdlib/wcsnrtombs.c: New file, implementing _wcsnrtombs_r
and wcsnrtombs. Document wcsrtombs and wcsnrtombs.
* libc/stdlib/wcsrtombs.c (_wcsrtombs_r): Just call _wcsnrtombs_r.
(wcsrtombs): Ditto.
* libc/stdlib/stdlib.tex: Accommodate new documentation.
2009-02-19 09:19:42 +00:00
Corinna Vinschen
84e851fd64
* libc/stdio/open_memstream.c: Add open_wmemstream to doumentation.
...
(struct memstream): Add wide element.
Change saved to a union to take char and wchar_t values.
(memwriter): Accommodate wide-oriented oeprations.
(memseeker): Ditto.
(memseeker64): Ditto.
(memcloser): Ditto.
(internal_open_memstream_r): New static function. Take functionality
from former _open_memstream_r and handle additional "wide" parameter.
(_open_memstream_r): Just call internal_open_memstream_r with wide==-1
from here.
(_open_wmemstream_r): New function.
(open_wmemstream): Ditto.
* libc/include/wchar.h (open_wmemstream): Declare.
(_open_wmemstream_r): Declare.
2009-02-18 17:35:24 +00:00
Jeff Johnston
77ea728b96
2009-02-12 Corinna Vinschen <corinna@vinschen.de>
...
* libc/include/wchar.h (_wcstod_r): Declare.
(_wcstof_r): Declare.
(wcstod): Declare.
(wcstof): Declare.
* libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstod.c.
(CHEWOUT_FILES): Add wcstod.def.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/stdlib.tex: Add wcstod.
* libc/stdlib/wcstod.c: New file.
2009-02-12 23:10:01 +00:00
Jeff Johnston
a1631dba6c
2008-12-12 Craig Howland <howland@LGSInnovations.com>
...
* libc/include/wchar.h: Added wcstok() declaration.
* libc/string/wcstok.c: New file, implementing wcstok.
* libc/string/Makefile.am: Add wcstok support.
* libc/string/wcstrings.tex: Ditto.
* libc/string/Makefile.in: Regenerated.
2008-12-12 19:47:05 +00:00
Jeff Johnston
0751f22675
2008-12-10 Corinna Vinschen <corinna@vinschen.de>
...
Implement basic wide char stdio functionality, based on FreeBSD.
* libc/include/stdio.h (__SORD): Define.
(__SWID): Define.
* libc/include/wchar.h: Add declarations for new wide char functions.
(getwc): Define as macro.
(getwchar): Ditto.
(putwc): Ditto.
(putwchar): Ditto.
* libc/include/sys/reent.h (struct __sFILE): Add _mbstate member.
(struct __sFILE64): Ditto.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add fgetwc.c, fgetws.c,
fputwc.c, fputws.c, fwide.c, getwc.c, getwchar.c, putwc.c, putwchar.c
and ungetwc.c.
(CHEWOUT_FILES): Add fgetwc.def, fgetws.def, fputwc.def, fputws.def,
fwide.def, getwc.def, getwchar.def, putwc.def, putwchar.def and
ungetwc.def.
Add header dependency rules for the new files.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fgetwc.c: New file, implementing fgetwc and _fgetwc_r.
* libc/stdio/fgetws.c: New file, implementing fgetws and _fgetws_r.
* libc/stdio/findfp.c (std): Initialize FILE's _mbstate member.
(__sfmoreglue): Ditto.
* libc/stdio/fputs.c (_fputs_r): Set stream orientation.
* libc/stdio/fputwc.c: New file, implementing fputwc and _fputwc_r.
* libc/stdio/fputws.c: New file, implementing fputws and _fputws_r.
* libc/stdio/fread.c (_fread_r): Set stream orientation.
* libc/stdio/freopen.c (_freopen_r): Reset stream orientation. Reset
_mbstate.
* libc/stdio/fseek.c (_fseek_r): Reset _mbstate.
* libc/stdio/fwide.c: New file, implementing fwide and _fwide_r.
* libc/stdio/fwrite.c (_fwrite_r): Set stream orientation.
* libc/stdio/getwc.c: New file, implementing getwc and _getwc_r.
* libc/stdio/getwchar.c: New file, implementing getwchar and
_getwchar_r.
* libc/stdio/local.h (ORIENT): New macro.
* libc/stdio/puts.c (_puts_r): Set stream orientation.
* libc/stdio/putwc.c: New file, implementing putwc and _putwc_r.
* libc/stdio/putwchar.c: New file, implementing putwchar and
_putwchar_r.
* libc/stdio/refill.c (__srefill_r): Set stream orientation.
* libc/stdio/stdio.tex: Add documentation for new functions.
* libc/stdio/ungetc.c (_ungetc_r): Set stream orientation.
* libc/stdio/ungetwc.c: New file, implementing ungetwc and _ungetwc_r.
* libc/stdio/vfscanf.c (__SVFSCANF_R): Set stream orientation.
* libc/stdio/wbuf.c (__swbuf_r): Ditto.
2008-12-10 23:43:12 +00:00
Jeff Johnston
bad5c314f7
2008-11-27 Craig Howland <howland@LGSInnovations.com>
...
* libc/argz/argz_add.c: Added #include <argz.h> to get function
prototypes.
* libc/argz/argz_append.c: Ditto.
* libc/argz/argz_count.c: Ditto.
* libc/argz/argz_create.c: Ditto.
* libc/argz/argz_create_sep.c: Ditto.
* libc/argz/argz_delete.c: Ditto.
* libc/argz/argz_next.c: Ditto.
* libc/argz/argz_stringify.c: Ditto
* libc/stdlib/strtod.c: Added #include <stdlib.h> to get function
prototypes.
* libc/stdlib/wcstoul.c: Added #include <wchar.h> to get function
prototypes, corrected traditional usage comment.
* libc/include/wchar.h: Added _mbsrtowcs_r() prototype.
2008-11-27 20:45:37 +00:00
Corinna Vinschen
ac26b72723
* libc/include/wchar.h: Add prototypes for wcpcpy and wcpncpy.
...
* libc/string/Makefile.am (ELIX_SOURCES): Add wcpcpy.c and
wcpncpy.c.
(CHEWOUT_FILES): Add wcpcpy.def and wcpncpy.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/wcpcpy.c: New file.
* libc/string/wcpncpy.c: New file.
* libc/string/wcstrings.tex: Add wcpcpy and wcpncpy.
2007-12-19 17:33:12 +00:00
Corinna Vinschen
dec27025b2
* libc/include/wchar.h: Declare wcstol, wcstoll, wcstoul,
...
wcstoull, _wcstol_r, _wcstoll_r, _wcstoul_r and _wcstoull_r.
* libc/stdlib/Makefile.am (GENERAL_SOURCES): Add wcstol.c and wcstoul.c.
(EXTENDED_SOURCES): Add wcstoll.c, wcstoll_r.c, wcstoull.c and
wcstoull_r.c.
(CHEWOUT_FILES): Add .def files accordingly.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/stdlib.tex: Add documentation links for above functions.
* libc/stdlib/strtoll.c: Fix portability note.
* libc/stdlib/strtoull.c: Ditto.
* libc/stdlib/wcstol.c: New file.
* libc/stdlib/wcstoll.c: New file.
* libc/stdlib/wcstoll_r.c: New file.
* libc/stdlib/wcstoul.c: New file.
* libc/stdlib/wcstoull.c: New file.
* libc/stdlib/wcstoull_r.c: New file.
2007-07-06 20:03:28 +00:00
Corinna Vinschen
a37215120b
* libc/include/wchar.h: Add prototype for wcsxfrm.
...
* libc/string/Makefile.am (GENERAL_SOURCES): Add wcsxfrm.c.
(CHEWOUT_FILES): Add wcsxfrm.def.
* libc/string/Makefile.in: Regenerate.
* libc/string/wcsxfrm.c: New file.
* libc/string/wcstrings.tex: Add wcsxfrm.
2007-07-04 16:18:34 +00:00
Jeff Johnston
25c7dad1fb
2003-12-05 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/wchar.h: Include <sys/reent.h>.
2003-12-05 20:51:57 +00:00
Jeff Johnston
3aca088831
2003-12-04 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/wchar.h: Add prototypes for _mbrtowc_r,
_wcrtomb_r, and _wcsrtombs_r.
2003-12-05 01:36:32 +00:00
Jeff Johnston
4340b63bc1
2003-10-23 Artem B. Bityuckiy <mail_lists@mail.ru>
...
* libc/string/wcsnlen.c: New file.
* libc/include/wchar.h: Add wcsnlen prototype.
* libc/string/Makefile.am: Add wcsnlen support.
* libc/string/Makefile.in: Regenerated.
* libc/string/wcstrings.tex: Add wcsnlen documentation.
2003-10-23 18:07:13 +00:00
Corinna Vinschen
8f8d09c041
* libc/include/wchar.h: Add definitions for wcswidth and wcwidth.
...
* libc/string/Makefile.am: Add wcswidth.c and wcwidth.c
* libc/string/Makefile.in: Regenerated.
* libc/string/wcswidth.c: New file.
* libc/string/wcwidth.c: New file.
* libc/string/wcstrings.tex: Add wcswidth and wcwidth.
2003-04-09 10:42:12 +00:00
Corinna Vinschen
d122b1cc73
* libc/include/wchar.h: Add definition for wcscoll.
...
* libc/string/Makefile.am: Add wcscoll.c.
* libc/string/Makefile.in: Regenerated.
* libc/string/wcscoll.c: New file.
* libc/string/wcstrings.tex: Add wcscoll.
2003-04-03 08:26:07 +00:00
Jeff Johnston
18cd62b7fb
2002-11-06 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
...
* libc/include/wchar.h: Use _{BEGIN,END}_STD_C instead of extern "C".
* libc/include/wctype.h: Ditto.
2002-11-07 00:44:31 +00:00
Jeff Johnston
d28888120d
2002-11-04 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/wchar.h: Add extern "C" specifier if C++.
* libc/include/wctype.h: Ditto.
2002-11-04 19:04:09 +00:00