Commit Graph

32 Commits

Author SHA1 Message Date
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
d1d407360d This is ugly. There is a const castaway inside the print macro, so we cannot
use /* LINTED */ comments, since cpp will expand comments only at the macro
definition location, not at every expansion.
1998-11-15 17:19:05 +00:00
kleink
d541ca6d80 Need internal names for isinf() and isnan(). 1998-10-13 14:43:36 +00:00
kleink
0cca1fcb27 Perform stdio stream locking as appropriate. 1998-09-09 12:08:05 +00:00
mycroft
1b5106953f Delint (partially). 1998-07-27 14:04:01 +00:00
mycroft
c18a540460 Minor nit. 1998-07-26 13:55:44 +00:00
mycroft
dae9fd960e const poisoning. 1998-07-26 12:35:24 +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
phil
a25ce426d4 Remove the flag test when seeing if _double is zero or not. We
are only testing for the cvt problem, not for alternate forms.
This change makes %#e and %e both correctly print 0.  It is just
a question of is it the proper number of zeros or not?
1997-08-29 05:31:11 +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
kleink
5a4d11e445 Upon an attempt to write to a stream that can't be written to, set errno
to EBADF.
1997-05-03 09:01:48 +00:00
kleink
f87eccf5b4 RCSid police 1997-04-02 12:50:23 +00:00
jtc
615fb07b15 The C Standard says that printf's format string is a multi-byte
character string.  NA1 says that the 99 characters required by the
Standard have representations in the initial state which are one byte
long and do not alter the state.

Thus we can safely break apart the format string with mbtowc() until
we reach a '%' character, and the process format directive characters
one by one.

We really shouldn't be using mbtowc(), rather mbrtowc() (which takes a
mbstate-t argument) but we don't have the NA1 functions implemented
yet.  This is safe, because even when we do we're not likely to
support multi-byte character encodings that use shift states.
1995-05-02 19:52:41 +00:00
jtc
3b29974599 Added "long long" support %ll{d,x,o,i}. 1995-03-22 00:56:55 +00:00
cgd
708504beb1 when you have a pointer and want to assign to a quad, you must cast it
to long to quiet the compiler.
1995-02-25 07:06:38 +00:00
jtc
a40e8f9215 Fixed bug with '+' or ' ' flags and precision.
for example, printf("% 6.4d\n", 77) output one two many padding chars.
1995-01-25 11:20:41 +00:00
jtc
14c8a82a15 Fix zero padding when using the # format modifier. 1994-10-20 03:56:56 +00:00
jtc
c36fd69bc3 The decimal point character is locale specific. 1994-09-30 02:39:13 +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
86f54a1e24 Corrected and simplified floating point formatting.
Now conforms to ANSI C --- passes the fairly rigorous TCL "format.test".
1993-11-04 02:26:10 +00:00
jtc
5be26afce6 Trailing zeros should be printed with all floating point formats
except %g && %G --- ANSI X3.159-1989, Sect 7.9.6.1.
1993-11-03 19:32:01 +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
78ff981673 Fix error in last patch. 1993-04-18 09:21:15 +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