Commit Graph

45 Commits

Author SHA1 Message Date
joerg
e0ac190e1e Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions.
Merge constant data used by the initial global locale and the C locale.
Drop function call layer for _current_locale() and directly return the
locale reference, not a pointer to it. Use protected access for global
variables, so that libc references can avoid the GOT overhead.
2013-05-17 12:55:56 +00:00
joerg
9790c07a61 Add scanf_l and wscanf_l families. 2013-04-19 23:32:16 +00:00
christos
526d942790 - ansify, knf.
- no functional changes
2012-03-15 18:22:30 +00:00
christos
c5e820cae4 PR/45989: Martin Husemann: lint invocation does include -w only on i386
- turn lint -w for all the platforms after fixing the lint warnings.
- add _DIAGASSERTS() for casts that would assign values to types that
  would not fit.
- change types, add casts
- change into ansii prototypes
- turn on _DIAGNOSTIC for libc (during current, to be eliminated for release
  builds)

approved by core@
2012-03-13 21:13:30 +00:00
wiz
3d3c5d42cb Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.
2010-12-16 17:42:25 +00:00
lukem
957ba389e8 sign-compare fix 2009-01-30 23:46:03 +00:00
christos
5022bd798d Ignore whitespace in format string from Andy Shevchenko 2008-08-28 16:41:21 +00:00
christos
28712ce84b bring in FreeBSD's vfscanf() to gain multi-byte/collation support.
Unfortunately it is too difficult to make vfwscanf and this share
the same code like I did with printf, because for string parsing
the code is too different.
2007-04-01 19:23:55 +00:00
christos
c975cdc86c - s/notyet/WIDE_DOUBLE/
- Add a little more glue for WIDE_DOUBLE; not done yet.
- s/def FLOATING_POINT/ndef NO_FLOATING_POINT/ to reduce diffs with FreeBSD.
- fix memory leak where each double formatted leaked 24 by calling __freedtoa()
  appropriately. the new gdtoa keeps a list of memory chunks allocated by
  malloc(), and it must maintained properly by calling __freedtoa() on the
  results of __dtoa() Hi Klaus!
- in vfwprintf() make cvt return char * and convert it using __mbsconv(),
  instead of having it return wchar_t *.

This should fix the memory leaks people have been reporting (eg. in top etc.)
2006-02-16 23:26:19 +00:00
martin
7fd2c31d41 Add support for scanf "hh" format modifiers - we use it in int_fmtio.h
for SCNd8 and friends - so we should support it properly (and not only
by pure luck on alignment blind little endian archs - it used the
"h" code path, storing a 16bit int via a byte pointer).

This makes sparc64 pass regress/lib/libc/int_fmtio.
2003-12-30 22:10:20 +00:00
agc
eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
thorpej
119837ff52 Fix handing of -ve hexadecimal numbers in the %i format. Fixes
PR lib/21691.  Patch from Simon Burge.
2003-05-27 14:32:29 +00:00
thorpej
3fdac2b8c5 Merge the nathanw_sa branch. 2003-01-18 10:52:16 +00:00
wiz
3fb28eec1f __STDC__ is always defined on NetBSD. 2002-05-26 14:43:59 +00:00
thorpej
42320e8223 * Move the prototype of __svfscanf from <stdio.h> to libc/stdio/local.h.
* Add prototype for vfscanf to <stdio.h>.
* Remove #define of vfscanf to __svfscanf from <stdio.h>.
* Include local.h in libc files which need __svfscanf.
* Add vfscanf weak alias to __svfscanf.

Fixes standards/16997.

NOTE: libc minor not bumped -- ride on the bump to 12.84 made by
itojun today.
2002-05-24 22:17:20 +00:00
yamt
17f3654a64 - make FILE structure extensible without breaking binary-compatibility.
- add fputwc, fgetwc, fwide and related functions.
- add hooks needed to maintain the orientation of file stream.
2001-12-07 11:47:40 +00:00
kleink
2a6842fe56 C99: Recognize %F here, too. 2001-12-02 20:53:49 +00:00
kleink
fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink
3031020afe Replace internal use of strto{,u}q() with strto{,u}ll(). 2000-03-08 19:33:47 +00:00
wrstuden
9c658d828e Need to include "reentrant.h" for FLOCKFILE macros. 2000-01-21 23:12:33 +00:00
mycroft
e70f76146b Do file locking. 2000-01-21 19:56:07 +00:00
lukem
d896261208 back out the #ifdef _DIAGNOSTIC argument checks; too many people complained.
_DIAGASSERT() is still retained.
1999-09-20 04:38:56 +00:00
lukem
b48252f365 * use _DIAGASSERT() to check pointer arguments against NULL and file
descriptors against -1 (as appropriate).
* add actual checks which to detect stuff that would trigger_DIAGASSERT(),
  and attempt to return a sane error condition.
* knf some code
* remove some `register' decls.

the first two items result in the addition of code similar to the
following in various functions:

		_DIAGASSERT(path != NULL)
	#ifdef _DIAGNOSTIC
		if (path == NULL) {
			errno = EFAULT;
			return (-1);
		}
	#endif
1999-09-16 11:44:54 +00:00
christos
e7f7fdba9a delint 1998-11-15 17:19:53 +00:00
kleink
56068ec670 Don't return immediately if EOF encountered while matching format string white
space in the input stream since there may be `conversion' specifiers following
the (format string) white space that do not operate on the input stream,
i.e. %n; from Chris Torek.
1998-10-25 18:25:43 +00:00
mycroft
1b5106953f Delint (partially). 1998-07-27 14:04:01 +00:00
mycroft
be9c427d60 const poisoning. 1998-07-26 12:29:33 +00:00
perry
c8bafd6265 remove obsolete register declarations 1998-02-03 18:38:12 +00:00
kleink
f47d490f87 Change several functions to return -1 instead of EOF, which was semantically
wrong.
1997-12-19 14:08:41 +00:00
christos
0c339c443a Fix RCSID's
Fix gcc warnings.
Add prototypes for functions that were declared in more than one place
to local.h or extern.h and use that instead.
1997-07-13 20:15:17 +00:00
jtc
da8d0ce8e0 Add explict function return types 1996-03-29 23:29:06 +00:00
jtc
3b29974599 Added "long long" support %ll{d,x,o,i}. 1995-03-22 00:56:55 +00:00
cgd
9386b82936 when you have a quad and want to assign to a pointer, you must say:
ptr = (ptr_type)(long)quad;
to quiet the compiler.
1995-02-25 07:02:16 +00:00
jtc
255db7b26b Merged with 4.4lite.
Changed to conform to NetBSD's new RCS Id convention.
1995-02-02 02:09:03 +00:00
jtc
6a96a52c80 Handle long doubles.
Like Plauger's implementation in "The Standard C Library", we use strtod(),
which will limit the range of values that can be converter properly if
long double has greater precision or range than double.

We will need a string to long double function to handle this properly, but
this change is better than the previous behavior of ignoring the existance
of long doubles.
1995-01-30 00:45:59 +00:00
jtc
f0c0009971 Added support for quad_t and u_quad_t's with the 'q' flag. 1995-01-27 15:20:25 +00:00
jtc
2893ea1742 Removed conflicting "backwards compatibility" code to make scanf
ANSI compliant.
1995-01-26 01:34:44 +00:00
mycroft
e9d5734eb6 Move FLOATING_POINT definition into Makefile.inc. 1994-09-19 04:43:02 +00:00
cgd
26fc33ba8d _VA_LIST_ -> _BSD_VA_LIST_ 1994-05-22 23:14:07 +00:00
jtc
9c20f740a3 Declare rcsid strings so they are stored in text segment. 1993-08-26 00:43:03 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
b7c7310653 Make declarations match prototypes. 1993-07-12 02:09:31 +00:00
cgd
49693da854 update for better FP routines, from AT&T & elsewhere 1993-07-09 09:40:07 +00:00
mycroft
f6eb9a54d8 Make arguments match prototypes. 1993-04-18 09:19:56 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00