#
69099ba2 |
| 28-Feb-2009 |
David Schultz <das@FreeBSD.org> |
- Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(), wcscasecmp(), and wcsncasecmp(). - Make some previously non-standard extensions visible if POSIX_VISIBLE >= 200809. - Use restrict qu
- Add getdelim(), getline(), stpncpy(), strnlen(), wcsnlen(), 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@
show more ...
|
#
544048ec |
| 31-Jan-2009 |
David Schultz <das@FreeBSD.org> |
Add a function attribute called `__malloc_like', which informs gcc that the annotated function returns a pointer that doesn't alias any extant pointer. This results in a 50%+ speedup in microbenchmar
Add a function attribute called `__malloc_like', which informs gcc 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.
show more ...
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0 |
|
#
d62e8d4c |
| 13-Aug-2005 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add an implementation of the semi-standard wcsdup() function, as found on Microsoft and GNU systems.
|
Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0 |
|
#
de6c9c9d |
| 12-Aug-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Implement wcwidth() as an inline function.
|
#
affcb871 |
| 23-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Mark functions pure where applicable.
|
#
1949a347 |
| 21-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These are convenient when the source string isn't null-terminated.
Implement the other conversion functions (mbstowcs(), mbsrtowcs(), w
Implement the GNU extensions of mbsnrtowcs() and wcsnrtombs(). These are convenient when the source string isn't null-terminated.
Implement the other conversion functions (mbstowcs(), mbsrtowcs(), wcstombs(), wcsrtombs()) in terms of these new functions.
show more ...
|
#
9531ef0f |
| 16-Jul-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add fgetwln(), a wide character version of fgetln().
|
#
f05d1a46 |
| 07-Jun-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Fix typo in putwc().
Noticed by: stefanf
|
#
84bb9aaa |
| 27-May-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Bring back the macro versions of getwc(), getwchar(), putwc() and putwchar(), but this time avoid redundantly declaring __stdinp and __stdoutp when source files include both <stdio.h> and <wchar.h>.
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
30af8f30 |
| 25-May-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Revert to rev. 1.36 until issues with -Wredundant-decls are sorted out.
|
#
15f1cbdd |
| 25-May-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Fix typo in previous: getwc() should call fgetwc(), not the function version of itself.
Noticed by: stefanf
|
#
e7e4715d |
| 25-May-2004 |
Tim J. Robbins <tjr@FreeBSD.org> |
Provide trivial macro implementations of getwc(), getwchar(), putwc() and putwchar() to reduce function call overhead.
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0 |
|
#
12eb46c8 |
| 07-Dec-2003 |
Marcel Moolenaar <marcel@FreeBSD.org> |
Change the definition of NULL on ia64 (for LP64 compilations) from an int constant to a long constant. This change improves consistency in the following two ways: 1. The first 8 arguments are always
Change the definition of NULL on ia64 (for LP64 compilations) from 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...
show more ...
|
Revision tags: release/4.9.0_cvs, release/4.9.0, release/5.1.0_cvs, release/5.1.0 |
|
#
287365ff |
| 29-Apr-2003 |
Alexander Kabaev <kan@FreeBSD.org> |
Add definitions for WCHAR_MIN and WCHAR_MAX.
|
Revision tags: release/4.8.0_cvs, release/4.8.0 |
|
#
542bd65f |
| 13-Mar-2003 |
Tim J. Robbins <tjr@FreeBSD.org> |
MFp4: Implementations of the wcstof() and wcstold() functions.
|
Revision tags: release/5.0.0_cvs, release/5.0.0 |
|
#
11de8366 |
| 27-Oct-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Correct visibility for v*wscanf(), wcstoll() and wcstoull(). These functions did not exist in ISO C Amd. 1. Add #ifdef __LONG_LONG_SUPPORTED and lint comments around wcstoll() and wcstoull().
|
Revision tags: release/4.7.0_cvs |
|
#
fd4f1dd9 |
| 04-Oct-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add a placeholder implementation of wcscoll() and wcsxfrm() which gives locale-sensitive collation only in single-byte locales, and just does binary comparison for the others with extended character
Add a placeholder implementation of wcscoll() and wcsxfrm() which gives locale-sensitive collation only in single-byte locales, and just does binary comparison for the others with extended character sets.
show more ...
|
#
3619568a |
| 28-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Remove masking macros for getwc(), putwc(), putwchar() and getwchar(). Although there was nothing wrong with getwc() and putwc(), getwchar() and putwchar() assumed that <stdio.h> had been included be
Remove masking macros for getwc(), putwc(), putwchar() and getwchar(). 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.
show more ...
|
#
1f4ff850 |
| 23-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add implementations of wscanf() and related functions: fwscanf(), swscanf(), vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide- character versions of the scanf() family of funct
Add implementations of wscanf() and related functions: fwscanf(), swscanf(), vfwscanf(), vswscanf(), vwscanf(). As the name suggests, these are wide- character versions of the scanf() family of functions.
show more ...
|
#
1302dabd |
| 22-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add the remaining C99 wide character string to integer conversion functions. Restrict qualifiers were added to the existing prototypes in <inttypes.h> and the typedef for wchar_t was removed.
|
#
c5604d0a |
| 21-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add implementations of the wprintf() family of functions, which perform formatted wide-character output.
|
#
7ca9f09d |
| 21-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Restrict visibility of wcslcat() and wcslcpy() to the __BSD_VISIBLE case.
|
#
03b716c4 |
| 15-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Add wcstod() as a wrapper around strtod(). It does not handle any characters that strtod() does not (alternate digit characters, etc. are not handled).
|
#
18db09bb |
| 13-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Style: tab between #define and macro name.
|
#
6b3015b6 |
| 12-Sep-2002 |
Tim J. Robbins <tjr@FreeBSD.org> |
Protect arguments to the putwc and putwchar macros with parens.
|