Commit Graph

3981 Commits

Author SHA1 Message Date
wiz 35fa1be31c ANSIfy and de-lint. Reviewed by christos. 2001-01-26 10:53:30 +00:00
jdolecek ca797c3c15 make local constant arrays const 2001-01-25 22:50:55 +00:00
jdolecek f1e8bc8da8 remove bogus comment from EXAMPLE section
Add HISTORY section, mentioning strlcpy()/strlcat() first appeared
	in OpenBSD 2.4 and when this came to NetBSD and FreeBSD
2001-01-25 22:39:19 +00:00
jdolecek 90a4ab0deb add forgotten argument name to actime_r() prototype 2001-01-25 20:55:51 +00:00
jdolecek 90bf9d58e5 make tags[] and flags[] const 2001-01-25 09:46:44 +00:00
itojun 2dcdf0fcb8 (finally!) enable multibyte LC_CTYPE locale support.
the functionality will be available for dynamic-linked binary only, due to
limitation with dlopen() from within statically-linked binaries.
(statically-linked binary can still enjoy singlebyte LC_CTYPE locale support)

from citrus project.
2001-01-25 09:21:57 +00:00
lukem fa11ebb133 apparently ansi c only required fread(3) to return 0 if size or nmembs == 0.
however, susv2 adds the same to fwrite(3), so add the explicit check.
document this for both fread & fwrite. move diagassert for buf!=NULL to after
the (size * nmembs) == 0 check.

this has the helpful side effect of preventing the _DIAGASSERT()ion in
fwrite() being triggered by lots of 3rdparty code that calls fwrite() with
buf=NULL count=0
2001-01-25 02:06:25 +00:00
itojun 1aba0c48bc split setlocale.c for smaller footprint (do not pull things in too much).
have magic number check in locale modules.
rename: lib/libc/locale/setlocale_sb.c -> setlocale1.c

NOTE: this commit does not enable multibyte locale support, yet.
2001-01-25 01:25:05 +00:00
jdolecek ced1de21ce It seems utrace(2) actually appeared in FreeBSD 2.2, not 4.0 according
to FreeBSD CVS logs
2001-01-24 23:43:43 +00:00
itojun 2dda99193c make sure "qname" argument to getanswer() is properly given. from lukem 2001-01-24 15:05:48 +00:00
bjh21 3da8f9bff4 Correct licence to current TNF one. 2001-01-23 19:07:34 +00:00
itojun 4d99bddbd0 declare (internal) encoding state for 'NONE' encoding, for future
thread safety.  no externally visible difference.
2001-01-22 04:42:40 +00:00
itojun f972083e05 move __mb_cur_max to dedicated *.o, so that we do not pull in
locale stuff just by calling printf().
2001-01-22 00:29:46 +00:00
itojun ce8aa899c9 wording in comment 2001-01-21 07:13:23 +00:00
itojun cdc6b98589 have _CTYPE_SW1 to all isprint() chars. important for future curses multibyte
support.
2001-01-21 04:34:47 +00:00
itojun 527f9efec1 comment; we do not set digit value (lowermost 8bit) at the moment
when we read in old locale declaration file.
2001-01-21 04:34:11 +00:00
itojun 09c87b61bb check _B (old isprint && !isgraph) when we generate _CTYPE_R (isprint).
otherwise, iso-8859-x locale will become incorrect about isprint(0xa0).

XXX too much workaround...
2001-01-21 03:56:27 +00:00
itojun 98641ce4a4 workaround for PR 11993. when we read in old locale file,
- don't really trust _B in the file.
- generate derived bits at runtime - like _CTYPE_R.

TODO: update ctype.h so that it look at RunLocale table.
2001-01-21 03:49:02 +00:00
itojun 6bb7c9da0c avoid exposure of libc internal symbols into public header (wctype.h). 2001-01-20 17:40:09 +00:00
itojun 9870327734 fix syscall() and __syscall(). r0 has to be set to SYS_syscall or
SYS___syscall, respectively.  otherwise sys/arch/sh3/sh3/trap.c will
look at the wrong argument.
2001-01-17 05:15:02 +00:00
lukem 1b4c6a992b don't _DIAGASSERT(cp != NULL) until after cnt is checked for != 0.
other stuff in the rpc systems (e.g, authnone_create() with _null_auth)
trigger this assertion otherwise
2001-01-17 01:07:10 +00:00
lukem 9004e39fee rename MAX_MARSHEL_SIZE to MAX_MARSHAL_SIZE 2001-01-16 15:46:52 +00:00
tron 216b116e30 Remove duplicate "tags" target. 2001-01-16 12:10:29 +00:00
cgd 9ac9838b47 #undef, not #undefine. 2001-01-16 02:38:17 +00:00
itojun 0e83f5f0d1 pull in openbsd strlcat.c 1.3 -> 1.4.
Reverse the order of two loop invariant to make 'strlcat(0, "foo", 0)'
not get a SEGV; Richard Kettlewell <rjk@greenend.org.uk>
2001-01-13 04:19:54 +00:00
jdolecek ae76c71d75 slighly clarify how endbyte is used, so that this matches implementation more closely 2001-01-12 19:23:11 +00:00
hubertf 44d7ee0289 * Document the vendor.* sysctl branch
* in sysctl.3, sort the list of CTL_ prefixes and sync with sysctl.h
2001-01-10 03:03:02 +00:00
bjh21 da666fcde6 Replace boiler-plate code sequences with macro invocations from SYS.h. 2001-01-09 21:19:33 +00:00
augustss 9b388c5b09 Document a weird circumstance under which stat() return EBADF. 2001-01-09 20:45:10 +00:00
bjh21 4cb97060e6 Use SYSTRAP() everywhere rather than coding SWI instructions directly. 2001-01-09 19:47:27 +00:00
bjh21 f5fadef6d9 Add some explanatory comments. 2001-01-09 19:30:38 +00:00
lukem e0cb66f652 rcsid & whitespace police 2001-01-08 15:21:37 +00:00
fvdl 52d1f12742 Make these actually work (fixes PR 11914). 2001-01-08 14:36:41 +00:00
lukem b8d674b457 link sradixsort(3) -> radixsort(3) 2001-01-08 14:06:09 +00:00
itojun 99b0df5333 use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix
2001-01-08 08:29:59 +00:00
mycroft ae430e05be Update the date. 2001-01-05 23:31:39 +00:00
mycroft 4f5554fa22 Update the date. 2001-01-05 23:31:16 +00:00
mycroft 0dbdbcab93 Mark these as deprecated, and correctly an error in the HISTORY section. 2001-01-05 23:29:42 +00:00
jdolecek 2fedeafec8 bump libc minor - utrace(2) addition 2001-01-05 22:47:02 +00:00
jdolecek 75ee9a37dd we now have utrace, support it here 2001-01-05 22:29:28 +00:00
jdolecek c8ff0e782d document KTR_USER_MAXLEN limit 2001-01-05 22:28:41 +00:00
jdolecek f43afc04fe add utrace(2) 2001-01-05 21:49:47 +00:00
itojun c0ed349e69 do not refer getnodebyaddr.
sync with latest kame.
2001-01-05 13:40:28 +00:00
itojun c5b93796dc fix wcs*cmp() behavior when the wide char string is equal. from soda
XXX assumes wchar_t == int.
2001-01-05 12:13:12 +00:00
lukem 1e96402257 ensure that buf1 in res_queriesmatch() isn't dereferenced before
testing with _DIAGASSERT(buf1 != NULL).
(damn those pesky initialisations in declarations... :)
2001-01-04 15:04:19 +00:00
lukem 0d2d9acca6 whitespace consistency fixups 2001-01-04 14:57:17 +00:00
lukem 0e8cfd8ffb sprinkle _DIAGASSERT() appropriately. minor other cleanups 2001-01-04 14:42:18 +00:00
itojun 6de175eeb8 __syscall is now mandatory 2001-01-04 08:53:50 +00:00
itojun f039f89ec5 prepare for sh3e[bl] split 2001-01-04 06:53:45 +00:00
lukem a976c8e346 sprinkle _DIAGASSERT() around 2001-01-04 03:56:17 +00:00
lukem c5b9e1cef5 sprinkle _DIAGASSERT() around 2001-01-04 03:35:29 +00:00
lukem 29e8291322 sprinkle _DIAGASSERT() around 2001-01-04 01:45:30 +00:00
lukem 2e9d6ac8c1 sprinkle in _DIAGASSERT() as appropriate 2001-01-03 15:23:26 +00:00
lukem 61017941ab remove register 2001-01-03 14:33:02 +00:00
lukem 5ba790cb50 sprinkle in _DIAGASSERT() as appropriate 2001-01-03 14:29:36 +00:00
lukem aa330a1e25 * Change __diagassert13() so that by default it only syslogs the error (it
used to syslog and also send to stderr).

  This behaviour can be changed by setting $LIBC_DIAGASSERT to a
  string containing one or more of the following letters:
	a	abort() after syslog and/or print to stderr
	A	opposite of a
	e	print assertion message to stderr
	E	opposite of e
	l	log assertion message to syslog
	L	opposite of l

  This allows per-process control of the _DIAGASSERT() behaviour (e.g,
  if you want to abort() after the assertion is raised) by modifying the
  environment before starting the process.

  Note that __DIAGASSERT() is still a no-op unless libc is compiled
  with -D_DIAGNOSTIC.

* Implement __assert()/__diagassert() by calling __assert13()/__diagassert13()
  with a function of NULL, reducing unnecessary code duplication
2001-01-03 12:44:53 +00:00
wiz 5c594236a9 Note that sha1 has been there since 1.4. 2001-01-02 16:16:48 +00:00
itojun 656dac34b5 wording (correct?) 2001-01-02 11:27:45 +00:00
itojun 11f22d503c comma at EOL -> period 2001-01-02 11:26:23 +00:00
kleink 2776fd1430 Fix grammar nits, and update the STANDARDS section. 2001-01-02 11:24:39 +00:00
kleink 20a43da197 C99: add new parameters int_p_cs_precedes, int_n_cs_precedes,
int_p_sep_by_space, int_n_sep_by_space, int_p_sign_posn and
int_n_sign_posn to monetary locale information.
2001-01-02 10:53:24 +00:00
martin 7c10055175 Be consistent with argument types vs. prototype; use _BSD_VA_LIST_ as
the argument, instead of va_list. Might not make a difference on most
ports, depending on toolchain/MD typedefs. Does make a difference on sparc64,
where it wouldn't compile otherwise.
2000-12-30 16:27:33 +00:00
itojun b648355aae put _RuneLocale pointer into mbstate_t for better thread safeness 2000-12-30 05:05:57 +00:00
itojun f864e401f9 fix shlib function name for a.out case 2000-12-30 05:05:25 +00:00
itojun bb0bfe5b30 initialize mbstate_t properly. 2000-12-30 04:13:25 +00:00
matthias c7a662aae7 Cosmetics. Use _ASM_LABEL for cerror. 2000-12-29 23:16:42 +00:00
matthias beff37f457 Implement 64 bit version of syscall. 2000-12-29 23:16:18 +00:00
bjh21 5aefcfdc06 Create shared ARM source for libc, and move arm26 port over to using it.
The code is (almost) a direct copy of the current arm26 sources.
It's identical to the current arm32 sources, with the following exceptions:
 - _C_LABEL is used on references to C labels from assembler.
 - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__.
 - It uses SoftFloat 2a rather than SoftFloat 1a.

The first two of these should be inconsequential.  I believe that SoftFloat 2a
should work on arm32 and be backward-compatible with existing code, but this
is not obviously true.  For now, arm32 remains using its own bits of libc.
2000-12-29 20:13:44 +00:00
kleink 6b94677e25 Sprinkle some __restrict into <wchar.h>. 2000-12-29 15:26:33 +00:00
kleink 81ab746b71 Sprinkle some __restrict into stdio. 2000-12-29 15:22:48 +00:00
bjh21 a88be20997 We no longer have _C_FUNC: Use _C_LABEL instead. 2000-12-29 13:39:39 +00:00
bjh21 40906c10a4 Sync with arm32: remove ovbcopy entry point. 2000-12-28 18:33:54 +00:00
bjh21 9d5c6f8887 RCSID cleanup. 2000-12-28 18:27:24 +00:00
itojun 4ab94d919b sync citrus Id part with citrus repository. 2000-12-28 05:27:35 +00:00
itojun 2ea22179ea switch locale module API, from s{get,put}rune to wcrtomb/mbrtowc.
handle intermediate mbstate_t more correctly.
no externally-visible changes here.
2000-12-28 05:22:27 +00:00
itojun 762873adfc re-enable citrus (rune)locale support.
XXX please clean and recompile libc if you get this revision.  UPDATE=yes
may leave obsolete *.o.
2000-12-27 00:57:03 +00:00
itojun b0a406db08 arg mistake to memset 2000-12-26 06:12:09 +00:00
itojun 8e1213a45e convert old style LC_CTYPE ctype table into runelocale table 2000-12-26 00:34:49 +00:00
itojun 6ddc3c8680 read in tolower/ctype table. do not mixup toupper/tolower. 2000-12-26 00:30:51 +00:00
itojun bb629fd1e5 byte default, use (non-citrus) singlebyte locale. if we compile
ld.elf_so with citrus locale, it bombs.
XXX this is shortterm workaround.  if you are willing to test citrus locale,
use RUNE=yes in libc/locale/Makefile.inc.
2000-12-25 23:30:58 +00:00
itojun 67819708f5 indentation 2000-12-25 09:25:15 +00:00
itojun eeed3beffb return _INVALID_RUNE if wchar_t > 0xff, on sgetrune. 2000-12-25 01:39:48 +00:00
jmc b4f129a4ea Update to 69 with the inclusion of the wmem* stuff in string. (shl.mi had
already been updated in sets but this got missed somehow..)
2000-12-24 23:36:51 +00:00
itojun 37fc5e01b9 fix LC_ALL behavior again... 2000-12-24 22:24:04 +00:00
itojun e04ee8e939 split wide char section, just for readability/future possibility for .if 2000-12-24 03:45:04 +00:00
itojun 383f218a51 move wcs* and wmem* from lib/libc/locale to lib/libc/string. 2000-12-23 23:14:33 +00:00
itojun 1da6122f1e make printf-variant work with stateful encodings. 2000-12-23 13:19:31 +00:00
itojun d888b02030 overhaul.
(1) alloate two mbstate_t, for input/output, per a file stream.
(2) correct inbound escape sequence processing.
cope with incomplete string better.  keep intermediate state for single shifts.
let C0/C1 go through.

XXX for (1), we should expand FILE structure, but is possible only with
libc major # bump.
2000-12-23 12:37:18 +00:00
itojun 7448c8b5b4 avoid duplicated free() on initialization failure 2000-12-23 11:53:46 +00:00
itojun bbbc605b71 change _INVALID_RUNE value - the old value (0xfffd) was selected when
rune_t was 16bit.

XXX PLEASE REBUILD YOUR LOCALE DEFINITION FILES BY:
# cd share/mklocale; make clean depend; make; make install
2000-12-23 10:52:34 +00:00
itojun 48fa1b17ab error code check mistake in LC_CTYPE handling 2000-12-23 08:22:40 +00:00
itojun ce0a5e58ed cope with runeglue.c failure better 2000-12-22 22:51:22 +00:00
itojun 85339e75d6 for setlocale(LC_CTYPE) failure, make sure to return NULL. 2000-12-22 22:28:09 +00:00
jdolecek b5590faec8 previous change was not complete enough, so finish and make more correct:
for LC_ALL, return success if at least on of categories was loaded
successfully, error if no category was loaded; in the latter case, we don't
need to back off locale changes, since none happened
2000-12-22 16:50:08 +00:00
jdolecek 675dc9d35b __setlocale(): ignore errors in locale category load for LC_ALL - doing so
is not useful. This is same change as in rev 1.17.
2000-12-22 15:25:11 +00:00
itojun 6d24d8c968 set errno on wcrtomb() encoding error, on EILSEQ. 2000-12-22 06:29:40 +00:00
itojun 4d799da3d4 mbrlen is equivalent to mbrtowc with 1st arg NULL (mentioned in spec). 2000-12-22 06:24:15 +00:00
itojun ab9a937270 add wcsl{cat,cpy} 2000-12-22 05:23:27 +00:00
itojun 2c828fd4c7 add wcsl{cat,cpy} - outside of ISO/IEC 9899:1999,
but i believe it should be there.
2000-12-22 05:21:40 +00:00
itojun f4f13f67be ad manpage for wide character string manipulation (wmem*/wcs*) 2000-12-22 04:59:41 +00:00
itojun d74cd8caeb manpage for tow*. 2000-12-22 02:18:58 +00:00
itojun a7365f619e place return value 2000-12-22 02:13:26 +00:00
itojun 2ea45fbc0e manpage for isw*. 2000-12-22 02:03:32 +00:00
itojun 00d1211195 remove bogus comment 2000-12-21 18:24:57 +00:00
itojun d3617fe94e copyright notice for ld.aout_so/shlib.c 2000-12-21 18:22:56 +00:00
itojun 6376847fbd find shlib/func by findshlib() and findfunc(). this nukes DLRUNE_AOUT,
and removes conditionals for library naming.
XXX if we mix a.out library and elf library in /usr/lib/runemodule...
2000-12-21 18:20:03 +00:00
itojun 1bb02cee54 __RCSID 2000-12-21 17:25:32 +00:00
itojun c2cb892f34 handle $LANG and $LC_xx consistently (slash is forbidden). 2000-12-21 17:16:20 +00:00
itojun 0b16e56b29 correct utf8 encoding error 2000-12-21 12:21:38 +00:00
itojun 2cc37d241b abort() is too much 2000-12-21 12:19:44 +00:00
itojun 6bfa292b5d add multibyte locale converters (just for use by testers at this moment,
to be built as dynamically loadable binary)
2000-12-21 12:17:35 +00:00
itojun b7a136db6b support multibytes in isw*/tow*. 2000-12-21 12:13:28 +00:00
itojun 408f4697a6 first import of citrus LC_CTYPE locale. singlebyte only at this moment.
shot-term TODO:
- enable multibyte locales.  this includes loadable locale modules
  (#ifdef DLRUNE).
- populate LC_CTYPE definition files.
- other functions such as iconv()
- make libc functions more friendly with multibyte.
- multilingualize other LC_xx
- torture tests

XXX don't forget to "make depend" when you rebuild libc, multibyte.c is
moved from lib/libc/stdlib to lib/libc/locale.
2000-12-21 11:29:47 +00:00
itojun 4c56e769f6 add dummy wcwidth() and wcswidth(). wcwidth() will be updated later. 2000-12-21 08:30:52 +00:00
itojun b80578d677 correct return type for tow*. 2000-12-21 06:46:07 +00:00
itojun a25075d36a have dummy wctype.h and isw*/tow*. part of libc minor 68 -> 69 crank.
equivalent to is*/to* at this moment.  we'll put wchar_t code in the
near future.
2000-12-21 05:40:56 +00:00
itojun b6ad76f487 add wcs* functions. consier it as part of libc minor crank 68 -> 69.
add decl of WEOF into wchar.h.  ISO/IEC 9899:1999(E)..
2000-12-21 05:12:18 +00:00
itojun 8f5f80ebfe document net.inet6.icmp6.mtudisc_{lo,hi}wat. 2000-12-21 01:10:52 +00:00
christos 128bd71ffc oops fix previous typos. 2000-12-20 23:08:51 +00:00
christos 0c0e139779 Ignore empty translation unit errors. 2000-12-20 21:13:56 +00:00
christos 6f034c1640 fix const castaway. 2000-12-20 20:57:20 +00:00
christos 52b46a0f13 fix u_char -> char and char -> u_char casts. 2000-12-20 20:56:34 +00:00
christos bebeeecd5b fix sbrk casts 2000-12-20 20:56:01 +00:00
christos d9ce410183 fix nested extern
fix sbrk casts
2000-12-20 20:55:23 +00:00
christos c9f588eab4 fix nested extern 2000-12-20 20:54:30 +00:00
christos f0c45fdbc9 protect against multiple inclusions. 2000-12-20 20:54:01 +00:00
christos f9b8c27ae8 appease lint casts 2000-12-20 20:52:50 +00:00
christos 663f790f35 remove redundant declarations. 2000-12-20 20:51:08 +00:00
christos d76f22c50c add _nsyylineno declaration 2000-12-20 20:50:46 +00:00
christos 413f6305c4 remove unnecessary prototypes
lint casting.
2000-12-20 20:44:14 +00:00
christos 02db12eb31 appease lint casting. 2000-12-20 18:47:11 +00:00
christos 6bae1e9ae7 avoid nested extern declaration 2000-12-20 18:38:30 +00:00
christos b8e7598d98 fix nested extern 2000-12-20 15:59:51 +00:00
itojun 97e0963d33 add wmem* functions, from citrus. bump libc shlib minor. 2000-12-20 14:53:23 +00:00
itojun eb0bc4a58e use strlcpy to guarantee string termination 2000-12-20 11:48:58 +00:00
itojun 1545be872f on setlocale() failure, back out changes made to current_locale[],
and return NULL.  from: From: Shingo WATANABE <nabe@nabechan.org>
2000-12-20 11:44:36 +00:00
cgd b2b63ed4f4 Newer GCCs give warnings when the result of preprocessor token pasting
is not itself a valid (single) preprocessor token.  In other words, don't
use __CONCAT() to add a structure member name to a pointer dereference.
2000-12-19 22:20:48 +00:00
christos ee5e1d12cf fix nested extern declaration. 2000-12-19 21:17:37 +00:00
christos 5b7386b25e fix missing formatting escape. 2000-12-19 21:17:16 +00:00
kleink f5f3357a95 Bump libc minor to 68: addition of __{diag,}assert13. 2000-12-19 14:33:24 +00:00
kleink f02540ff10 C99: Print the name of the function enclosing the assertion, if possible. 2000-12-19 14:32:59 +00:00
lukem 741ea8dc94 fix typo in _nis_grscan(). "if (data); free(data);" -> "if (data) free(data);"
noted by Jacques Vidrine <nectar@FreeBSD.org>
2000-12-17 22:09:12 +00:00
tsubai 7ec5b1f483 Fix weak alias. 2000-12-16 01:40:38 +00:00
bjh21 148c9ed7ee Resync with arm32:
byte_swap_2.S 1.4
  byte_swap_4.S 1.3
2000-12-14 20:47:26 +00:00
mycroft e4a2f51cc9 Adjust to not use ALTENTRY(). 2000-12-14 20:17:32 +00:00
mycroft ffb377199e Make this link right again! 2000-12-14 20:03:42 +00:00
bjh21 f213bb8702 Use _C_LABEL rather than _C_FUNC. 2000-12-14 19:40:22 +00:00
bjh21 d0ec536a8d Sync with arm32. 2000-12-14 19:27:34 +00:00
simonb 1bb9a3396c Remove all the .abicalls assembler directives - "SYS.h" already has that. 2000-12-13 23:29:06 +00:00
simonb 488ef36c45 Another bare minimum __syscall. 2000-12-13 23:18:40 +00:00