Commit Graph

177 Commits

Author SHA1 Message Date
ache
d53420a159 Replace %y with %Y 2001-03-21 13:55:09 +00:00
ache
03b7cd74e6 Fix typo in the comment 2001-03-18 12:20:38 +00:00
ache
052769dc2d Relax local FreeBSD restrictions on 3 chars abbrev. name length and %c format
since they not allows POSIXly legal locale data. Currently, if relaxed form
POSIXly legal locale data will be used right now, some programs will be broken,
but it means that either locale data or programs must be fixed, not the library.

Introduce non-standard md_order (month/day order) locale field to be used later
via nl_langinfo(). Currently %EF and %Ef emulated using this field, but they
planned for remove in future in favour of nl_langinfo() test field.

Implement %F per POSIX
2001-03-18 11:58:15 +00:00
ache
d600e3e3ac Make 'A' and 'a', 'B' and 'b' the same, per POSIX 2001-03-18 08:41:06 +00:00
ache
1ad9d0ac29 Implement ampm_fmt (%r) per POSIX 2001-03-02 22:10:04 +00:00
ru
ec147c6b0d /^\.St/ s/-iso9945-1/-p1003.1-96/ 2001-02-26 14:48:38 +00:00
ru
3ff23f918d .St -ansiC -> .St -isoC 2001-02-26 13:23:47 +00:00
kris
9ebaa73623 Back out snprintf -> sprintf change until I have time to look at it. 2001-02-18 04:07:50 +00:00
tegge
af67e8b5e1 Don't depend on lcl_mutex being a recursive mutex.
Reviewed by:	deischen
2001-02-15 22:17:04 +00:00
phantom
83025d7199 catch up to __part_load_locale() interface change 2001-02-13 15:32:21 +00:00
phantom
2c5a71ca76 Rewrite __time_load_locale() using ldpart.c::__part_load_locale()
Reviewed by:	ache
2001-02-12 08:53:33 +00:00
ache
90521c24f8 Hardcode c_fmt in a different way since used in nl_langinfo now 2001-02-08 20:55:38 +00:00
phantom
028f19b91b Catch up to latest chanage in timelocal structures exporting. 2001-02-08 17:08:13 +00:00
phantom
fe9086e23b Export internal data structures in same manner as numeric/monetary/messages
structures exported.
Protect timelocal.h from multiple inclusions.
2001-02-08 17:06:37 +00:00
deischen
1635c221b7 Remove _THREAD_SAFE and make libc thread-safe by default by
adding (weak definitions to) stubs for some of the pthread
functions.  If the threads library is linked in, the real
pthread functions will pulled in.

Use the following convention for system calls wrapped by the
threads library:
	__sys_foo - actual system call
	_foo - weak definition to __sys_foo
	foo - weak definition to __sys_foo

Change all libc uses of system calls wrapped by the threads
library from foo to _foo.  In order to define the prototypes
for _foo(), we introduce namespace.h and un-namespace.h
(suggested by bde).  All files that need to reference these
system calls, should include namespace.h before any standard
includes, then include un-namespace.h after the standard
includes and before any local includes.  <db.h> is an exception
and shouldn't be included in between namespace.h and
un-namespace.h  namespace.h will define foo to _foo, and
un-namespace.h will undefine foo.

Try to eliminate some of the recursive calls to MT-safe
functions in libc/stdio in preparation for adding a mutex
to FILE.  We have recursive mutexes, but would like to avoid
using them if possible.

Remove uneeded includes of <errno.h> from a few files.

Add $FreeBSD$ to a few files in order to pass commitprep.

Approved by:	-arch
2001-01-24 13:01:12 +00:00
ru
0a221c5a50 mdoc(7) police: Ft/Vt now accept punctuation-type arguments. 2001-01-12 15:46:56 +00:00
ru
8ba4187688 Prepare for mdoc(7)NG. 2000-12-29 14:08:20 +00:00
ru
c23c39b3a4 mdoc(7) police: removed history info from the .Os FreeBSD call. 2000-12-14 11:52:05 +00:00
kris
092949d321 sprintf -> snprintf 2000-11-26 09:05:40 +00:00
nik
eacae59bd6 Create the links for the reentrant time functions.
PR:		 docs/22644
Submitted by:	 andrew@ugh.net.au
2000-11-12 16:17:53 +00:00
ru
a6f5d950d8 Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
ache
963bc17524 For %c replace reference to asctime(3) with ctime(3) from which %c genetically
originates
2000-10-26 22:11:11 +00:00
ache
f3a75b8eda Treat c_fmt field as compatibility placeholder 2000-10-26 16:20:57 +00:00
ache
5d5fb83f13 Force "%c" to be ctime-compatible
Submitted by:	ru
2000-10-26 16:07:04 +00:00
ache
3e116740c8 Force %c to be "%a %Ef %T %Y" to eliminate problems with bad c_fmt
Submitted by:	ru
2000-10-26 14:22:41 +00:00
ache
c1ea12cb91 Describe %c better
Submitted by:	ru (with modifications)
2000-10-24 15:37:48 +00:00
kris
81f8d1df4f Correct factor-of-10 error in INT_STRLEN_MAXIMUM() calculation. 2000-08-04 11:03:20 +00:00
ache
32a6eb4143 Fix assigning alt_month in compatibility code 2000-06-29 17:21:45 +00:00
phantom
5401879e3b Introduce ".Lb" macro to libc manpages.
More libraries manpages updates following.
2000-04-21 09:42:15 +00:00
cracauer
4c5ed2febd Temporary cosmetic change to prevent gcc-2.95.2 from doing an
optimization that generates code our current as doesn't understand.

The result is bad code that damages dynamic symbol locations at
runtime. Ouch. See PR bin/16862 and discussion in -current.

This change will be backed out when gcc and gas are back in sync.

PR:		Fixes bin/16862, but not the underlying problem.
Submitted by:	bde
Approved by:	jdk
2000-03-08 12:46:25 +00:00
sheldonh
329223e6f2 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-02 09:14:21 +00:00
joerg
3322d89b34 There were so far only 42 different conversion specifications in
strftime(3), add another one. :)  %z yields the local timezone's offset
in hours and minutes, as used in RFC822 headers.  There's a precedence
for this in Lunux' libc, and Internet software (like Perl scripts)
start using it.

OKed by (wrt. the code freeze): jkh
2000-01-28 17:40:42 +00:00
jasone
8abe2a2d86 Simplify sytem call renaming. Instead of _foo() <-- _libc_foo <-- foo(),
just use _foo() <-- foo().  In the case of a libpthread that doesn't do
call conversion (such as linuxthreads and our upcoming libpthread), this
is adequate.  In the case of libc_r, we still need three names, which are
now _thread_sys_foo() <-- _foo() <-- foo().

Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(),
nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo().

Remove all internal libc usage of: creat(), pause(), sleep(), system(),
tcdrain(), wait(), and waitpid().

Make thread cancellation fully POSIX-compliant.

Suggested by:	deischen
2000-01-27 23:07:25 +00:00
sheldonh
74366b47ef Make the quotes in the #include line visible. 2000-01-19 13:27:03 +00:00
jasone
75903038bc Add three-tier symbol naming in support of POSIX thread cancellation
points.  For library functions, the pattern is __sleep() <--
_libc_sleep() <-- sleep().  The arrows represent weak aliases.  For
system calls, the pattern is _read() <-- _libc_read() <-- read().
2000-01-12 09:23:48 +00:00
sheldonh
785c739893 Remove discussion of %C in the BUGS section. The limitations on valid
centuries are much more serious than those mentioned and this is not the
place to discuss the limitations of time_t.
1999-12-09 07:58:28 +00:00
sheldonh
310ae47a90 Prevent digit-gobbling for all but %l and %e, which can't be fixed.
Discuss in the BUGS section of the manpage, problems involved with
the use of %C, %e, %l, %p, %U and %W.

PR:		13901
Reported by:	scott@chronis.pobox.com
1999-12-08 15:49:10 +00:00
sheldonh
da906acc18 Accept 12 for %l, because it's logical to expect "%l:%M" to work for
"12:00" and because strftime(3) does the same.
1999-12-08 11:11:40 +00:00
ache
220fa35680 %Ex -> %Ef to not conflict with POSIX
Add %EF (long months name / day order)
Check that O and E not intermixed
Add missing POSIX extension to example
1999-11-30 19:24:07 +00:00
ache
764544f79d Document %Ex and %OB 1999-11-30 18:37:36 +00:00
ache
6219664f07 Stricter checking %A vs %a 1999-11-30 08:11:13 +00:00
ache
228a52df6f Fix %C handling
Use locale for %c
Add %+
Add %Ex and %OB
1999-11-30 08:05:09 +00:00
ache
f72436c9ac Add %Ex extension to determine "%e %b" or "%b %e" order
Separate alternative for O and E cases
1999-11-30 07:33:37 +00:00
sheldonh
6f243c5ca7 Decremement by 1 the value taken for %j before assigning it to tm_yday,
which is zero-based.

Correct the range checking for the value taken for %S.

Add %w for the day of the week (0-6).

Accept (but do nothing with) %U and %W.  The comment for this change was
taken from NetBSD.

These changes were made after several failed attempts to contact the
author of our strptime.c .

PR:		10131
Submitted by:	tadf@kt.rim.or.jp (Tadayoshi Funaba)
1999-11-10 14:40:59 +00:00
ache
2e8706cc03 Add unsigned char cast to isupper 1999-11-04 04:40:56 +00:00
dt
563a7a9ae1 Implement new format specifier for strftime: %OB, alternative national
representation of the full month name. In the Russian locale, this alternative
will be "nominative case", useful when the date designate month as a whole.
E.g. month heading in a calendar. I hope it can be useful for some other
locales too.

Discussed with:	wollman, ache
1999-09-11 21:35:21 +00:00
phantom
5e3e53cfb3 Spelling and grammar error fix.
mdoc(7)'fy.

PR:		docs/13406
Submitted by:	Garret Woolman <woolman@khavrinen.lcs.mit.edu>
Reviewed by:	mpp
1999-09-04 15:56:51 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
chris
c3d00b39ac Add $Id$ tag. 1999-08-14 07:59:58 +00:00
chris
0034fbf8b0 Bad reference time(2) changed to time(3) 1999-08-14 07:57:52 +00:00
nik
f7a8bc4c04 Add $Id$, to make it simpler for members of the translation teams to
track.

The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:50:10 +00:00
obrien
ca1b97c691 Make the new %Z addition thread-safe. 1999-07-06 05:05:39 +00:00
obrien
091bed9159 Actually impliment the documented %Z specifier. 1999-07-04 08:54:26 +00:00
steve
b1142758fc Spell the .St macro correctly.
PR:		11704
1999-06-07 03:59:56 +00:00
wes
e94ed693cb Re-fixed to start at 1969 per the actual Posix requirement. Also
fixed a typo on the man page.
1999-04-25 07:28:39 +00:00
wes
2e0fb29e62 Bring two-digit years up-to-date with POSIX requirements.
70-00 are intepreted in the 20th century; 01-69 in the
21st century.  (Yes, 2000 is the last year of the 20th
century, not the first year of the 21st.)

Submitted by:	Sergey Babkin <babkin@bellatlantic.net>
1999-04-25 01:42:18 +00:00
wollman
eb63a8058f Merge from vendor branch: timezone file structure changes and doco.
Fix localtime.c to deal with new magic number field.

Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz
1999-01-21 17:22:59 +00:00
dt
c09e434e50 Make ctime_r, asctime_r, gmtime_r, and localtime_r available in libc. 1999-01-04 20:45:20 +00:00
wollman
b98a934336 Add STANDARDS section.
s/bytes/characters/g to be consistent with Standard C terminology.
Update date and add RCS Id.
1999-01-03 01:07:41 +00:00
wollman
205566608c Fix grammar in the description of timegm() by totally rewriting it. Remove
a potentally inflammatory comment from BUGS, and add a more useful comment
about the lack of reentrancy in the timezone-setting interface.
1999-01-03 00:35:31 +00:00
wes
08ad2ecd3d Added documenation for the existing implementation of asctime_r,
ctime_r, gmtime_r, and localtime_r.
1998-12-20 06:22:06 +00:00
imp
bfe73fd683 Replace memory leaking instances of realloc with non-leaking reallocf.
In some cases replace if (a == null) a = malloc(x); else a =
realloc(a, x); with simple reallocf(a, x).  Per ANSI-C, this is
guaranteed to be the same thing.

I've been running these on my system here w/o ill effects for some
time.  However, the CTM-express is at part 6 of 34 for the CAM
changes, so I've not been able to do a build world with the CAM in the
tree with these changes.  Shouldn't impact anything, but...
1998-09-16 04:17:47 +00:00
dt
4933b6a930 Change return type of strptime from const char* to char*.
const char* was wrong and nonstandard.
1998-09-12 21:13:29 +00:00
bde
2312b6276f Fixed printf format errors. Don't assume so many things about time_t.
Obtained from:	partial merge of ADO version tzcode96h (was fully merged
                in 1.10 but backed out in 1.11; the FreeBSD code for %s
		was earlier, prettier but buggier).
1998-06-30 16:49:47 +00:00
danny
45d39484dc Fix grammar, "null" -> "NUL" 1998-06-10 12:37:45 +00:00
jb
de44a06af6 Remove 'of type long' from a sentence talking about four 4-byte values
because that is wrong on alpha.
1998-05-10 21:21:01 +00:00
ache
f02dfd0f98 Make asctime_r static if !_THREAD_SAFE to prevent namespace pollution and
prototype mismatch
1998-04-25 00:00:57 +00:00
phk
90a1b69b83 Add a #ifdef _THREAD_SAFE around ctime_r 1998-04-20 10:09:37 +00:00
ache
6919d0a394 Describe timegm() 1998-04-20 00:52:32 +00:00
phk
6d7eb64b15 ctime_r and asctime_r are not implemented.
prototypes in time.h do not match POSIX.

PR:		6345
Reviewed by:	phk
Submitted by:	Dmitry Khrustalev <dima@xyzzy.machaon.ru>
1998-04-19 06:47:25 +00:00
jb
43c2287620 Change in name of the static initializer define. 1998-04-04 11:03:07 +00:00
julian
6d639f103c Submitted by: Jeremy Allison (jallison@whistle.com)
fix a slight confusion about which draft of threads we are supporting.
this allows something as big and ugly as samba to be compiled with libc_r
and still work!  our user-level pthreads seems amazingly robust!
1998-02-18 01:20:33 +00:00
helbig
1433c9c29e Typo. 1997-10-26 10:37:35 +00:00
bde
ea35ce8d73 Sorted lists. 1997-10-21 08:41:15 +00:00
bde
ef5c98dd45 Removed the subdirectory paths from the definitions of MAN[1-9]. They
were a workaround for limitations in bsd.man.mk that were fixed about
2 years ago.
1997-10-15 16:16:41 +00:00
helbig
7ec09bad0d Merged in better support of ISO 8601 from elsie.nci.nih.gov.
Added the conversion specifiers %g and %G, that are replaced
by the year which contains the greater part of the week in question.
1997-10-03 19:06:57 +00:00
charnier
1754071cd4 environmental -> environment. 1997-09-18 06:55:21 +00:00
ache
eb38783b56 Add unsigned char cast to all ctype calls 1997-08-13 13:11:53 +00:00
joerg
7f6efbc9e1 Import strptime(3) into libc. We've got permission by Kevin Ruddy to
modify the original `no modifications' copyright message, and i've
included his mail into the source file.

The common localization functions between strptime(3) and strftime(3)
have been broken out into timelocal.[ch].
1997-08-09 15:43:59 +00:00
joerg
60e8157583 This commit was generated by cvs2svn to compensate for changes in r28019,
which included commits to RCS files with non-trunk default branches.
1997-08-09 15:38:14 +00:00
joerg
9521093003 Clean import of strptime(3) onto a vendor branch.
Submitted by:	Powerdog Industries <kevin.ruddy@powerdog.com>
1997-08-09 15:38:14 +00:00
eivind
7a1932b397 it's'' -> its'' where appropriate and typo fixes in time2posix.3.
Closes PR docs/3612.

Submitted by:	Josh Gilliam <soil@quick.net>
1997-05-19 16:33:27 +00:00
jb
a1337bb0ae Changed all paths to be relative to src/lib instead of src/lib/libc
so that all these makefiles can be used to build libc_r too.

Added .if ${LIB} == "c" tests to restrict man page builds to libc
to avoid needlessly building them with libc_r too.

Split libc Makefile into Makefile and Makefile.inc to allow the
libc_r Makefile to include Makefile.inc too.
1997-05-03 03:50:06 +00:00
bde
7ee566c897 Fixed wording of previous change.
Obtained from:	fgets.3
Guided by:	ISO C standard
1997-03-31 05:18:27 +00:00
imp
db8be68e53 Revert my last few changes. They were bogus. Replaced them with
the original text plus a statement saying that if strftime fails,
the results are undefined.

Requested a long time ago by: bde
1997-03-31 04:51:13 +00:00
imp
f8040b7f54 Back out 1.14 until I reproduce trouble reports 1997-03-25 05:34:31 +00:00
imp
52677342d6 Don't open the tz file if we're running setuid or setgid to prevent infomration
leakage.

Submitted by:	Julian Assange
1997-03-24 06:09:50 +00:00
imp
f8a5871d89 Use .Sq Li \&\e0 rather than NUL to describe the character with no bits
set, as suggested by Garrett Wollman.   This is more consistant with how
things like strncpy are done, as well as harder to confuse NUL and NULL.
1997-03-03 15:39:06 +00:00
imp
d2c3804867 Pendantic change of null to NUL. Also warn that this function does not
NUL terminate in the case of buffer overflow.
1997-03-02 20:07:37 +00:00
peter
6b08958c64 Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
ache
81818fd81a Include "setlocale.h" for _PathLocale like other parts already did
Should go in 2.2
1997-02-07 13:05:51 +00:00
julian
c2f7c3e489 Submitted by: John Birrell
uthreads update from the author.
1997-02-05 23:26:09 +00:00
ache
984b53f184 Update the comment why range checking is not needed
Should go in 2.2
1997-02-05 19:22:04 +00:00
wosch
6d0dbd7455 Sort cross references. 1997-01-20 23:23:22 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
wollman
ea03e008b1 When attempting to load a `lastditch' timezone (e.g., because the load
of the user's timezone failed), don't bail if the specified timezone
doesn't have an offset; in this case it isn't going to.  (Perhaps it would
be better to change the caller to always supply one, but this is quick
and clean and fixes the bug in the easiest possible way.)

Should be in 2.2.  Fixes (properly) PR#1740.
1997-01-13 17:12:23 +00:00
ache
1eac53090b Add comment that range checking is already done at upper level
Kill snprintf left in collate.c from previous backout

Should go in 2.2
1996-12-28 05:04:24 +00:00
ache
aedf723373 Move PATH_LOCALE handling to setlocale.c, simplify locale path building,
don't treat empty encoding as C encoding
1996-11-26 02:52:52 +00:00
hsu
9c65a1a186 Parameters for localtime_r() and gmtime_r() definitions changed.
Parameters for pthread_getspecific() call changed.
pthread_keycreate() renamed to pthread_key_create().
1996-11-11 09:14:24 +00:00
wollman
3d953050fb Require that a timezone specified via the TZ envariable be a regular
file (and not a directory or a device which might also be readable).
Closes PR#1740.
1996-10-09 17:39:37 +00:00