325 Commits

Author SHA1 Message Date
snj
550147bd6a Remove 3rd and 4th clauses in christos' license. OK christos. 2009-10-21 01:07:44 +00:00
joerg
eb96fdd9a2 ffs(3) lives in strings.h, so include the correct header. ANSIfy. 2009-08-05 16:08:00 +00:00
dsl
027bacee22 Use a 'register only' str[c]spn() on 64 bit systems. 2009-07-30 21:42:06 +00:00
dsl
0d34d14bb9 If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.
2009-07-30 20:57:15 +00:00
kleink
9be4603670 Declare strsignal(3) in <string.h>, per POSIX-2008, and adjust
documentation accordingly.

Fixes PR standards/41325 from Perry E. Metzger.
2009-07-22 19:48:27 +00:00
wiz
f21bef181d Add comma in enumeration. 2009-07-22 07:07:27 +00:00
joerg
0578c2ad0f Move popcount et al to src/common and add popcount32/popcount64.
Requested by rmind@. MD should now override popcount32/popcount64 and
provide the aliases as fitting.
2009-07-21 14:55:32 +00:00
wiz
02079c4a1c Xref popcount(3). 2009-07-21 13:22:15 +00:00
wiz
345d7916c5 Fix typo, add comma in enumeration. 2009-07-21 13:21:41 +00:00
joerg
974b291a6c Add popcount(3) and the long and long long version. Name is inspired by
gnulib, the implementation goes back to the AMD Software Optimizer
guide. A number of platforms will want to replace the C version with
assembler code using native instructions.
2009-07-21 13:18:43 +00:00
dsl
32b43c9199 Remove index() and rindex() from the list (in comment) 2009-07-18 09:41:23 +00:00
wiz
3ae928cec9 Improve formatting and punctuation for "NUL-terminate". 2009-05-02 09:37:32 +00:00
wiz
1de194650d Sort sections. 2009-05-02 09:31:08 +00:00
wiz
f6d35c037f Remove duplicate entry. 2009-05-02 09:31:01 +00:00
perry
be11851995 Add versions of stpcpy(3), stpncpy(3), strnlen(3), all from FreeBSD.
These are defined in the latest POSIX

Also make related updates to documentation, mostly from FreeBSD,
though I cleaned a few other things up along the way.

Bump shlib_version.

We are still missing strcoll_l, strerror_l, strsignal, strxfrm_l to be
POSIX conformant.
2009-05-01 17:27:01 +00:00
christos
497a527565 make this work properly, by moving to the end of the buffer before starting
the search.
remove clauses 3 + 4.
2009-04-11 21:42:16 +00:00
wiz
24e269dafa Split Nm over two lines. 2009-04-10 23:24:35 +00:00
christos
3cf907e2b2 add memrchr 2009-04-10 23:13:38 +00:00
wiz
cc2e7350a1 Bump date for new STANDARDS section. 2009-01-29 10:15:39 +00:00
gdt
04532cd1e6 Note that strdup is specified by POSIX.1. 2009-01-28 19:12:40 +00:00
christos
461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
tnozaki
2af58f1cce 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite.  so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
2009-01-05 06:11:43 +00:00
tnozaki
52ed7b035f Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format.
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).

[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
  new locale-db implementation using citrus_db backend,
  see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
  internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].

[tools]
- mklocale(1): add new option ``-t'' that generates new style
  LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().

[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
    en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
    zh_CN.eucCN -> zh_CN.GB18030
    and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
  for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.

i tested release-build following arch:
  i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<

old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
2009-01-02 00:20:18 +00:00
christos
389390f57e pacify lint. 2008-09-24 16:58:53 +00:00
christos
0588e62651 fix newer gcc warning. 2008-09-24 16:24:30 +00:00
christos
194e105784 From Ilya Dogolazky ilya.dogolazky at teleca dot fi:
The new algorithm does not use any array initialisation.
Instead of that the only integer variable "index" is initialized.
It is not using any bitwise operations and shifts as well.

The well-known algorithm (an efficient representation for sparse sets) is
mentioned as exercise 2.12 in "The Design and Analysis of Computer Algorithms"
by Alfred Aho, John Hopcroft and Jeffrey Ullman. It is described here
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.7319
and here
http://research.swtch.com/2008/03/using-uninitialized-memory-for-fun-and.html
2008-09-24 14:36:02 +00:00
dholland
43987efbe4 Grammar police. 2008-08-29 05:48:40 +00:00
tnozaki
cd0f2012d3 SUSv3 says, if not printable wide-character exists, return -1. 2008-08-12 21:59:27 +00:00
tnozaki
b5174f925f SUSv3 says, wcwidth(wc) returns:
1) wc is nul wide-character, return 0.
  2) wc is printable wide-character, return column width.
  3) else, return -1.
but our implementation, case 3) returns 0. it's wrong!
2008-08-12 20:51:25 +00:00
joerg
9acf218ba1 Before using the slightly more involved bitmap tables,
check that the charset for strspn/strcspn is non-trivial.
An empty charset is either a direct return or a strlen and
a single charset a simple loop.
2008-07-30 16:13:59 +00:00
wiz
067a770e99 Note that strndup was recently (4.0) added. Bump date. 2008-06-22 11:02:07 +00:00
haad
a3b083b6a1 Remove unneeded #include <string.h>, found by Adam Hoka.
Ok'ed by martin@.
2008-05-26 13:17:48 +00:00
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
christos
6711b9aec7 use the proper variable. 2008-02-23 15:53:22 +00:00
christos
8fbaff1005 fix lint issues. 2008-02-23 15:18:04 +00:00
joerg
758ec1af13 Also cast before anding the characters. 2008-02-22 19:25:59 +00:00
joerg
966f3cc69d Add some explicit casts to stop GCC complains about signed char shifts. 2008-02-22 14:40:15 +00:00
joerg
2ca83a6a31 Replace O(nm) versions of strspn, strcspn and strpbrk with O(n+m)
implementations based on the suggestions I made for DragonFly's libc
ages ago. For charset with more than one entry and iterating over the
first two characters of s, this is consistently faster on amd64.
2008-02-22 13:32:19 +00:00
seb
975a58878b Fix stresep(3) handling of consecutive quoted delimiter characters.
Approved by christos@
2007-12-06 22:07:07 +00:00
nakayama
0c74dffd74 Add strndup(3) to libnbcompat, since estrndup(3) added into efun.c calls it. 2007-07-03 12:11:09 +00:00
christos
1418345039 Make these work with _FORTIFY_SOURCE, by overriding the fortified definitions 2007-06-03 17:39:26 +00:00
wiz
216334ea2c Bump date for previous. 2007-02-18 00:46:47 +00:00
hubertf
002621f0bc Try to tell what this really does.
Including a BUGS section on why it doesn't.

*roff code by wiz@, with some input from
Slava Semushin <slava.semushin@gmail.com>
2007-02-18 00:38:22 +00:00
wiz
c7567a33c8 Add strings(3), collecting information about strings.h.
Add Xr for it to string(3).

XXX: if someone could make a HISTORY section, I'd appreciate it
2007-02-17 09:32:57 +00:00
wiz
8569abace9 o Removed functions that are in strings.h, not string.h
o Added memmem
o Bump date

From Slava Semushin in private mail.
2007-02-17 09:04:57 +00:00
wiz
cf9a3d07af o Removed functions which were moved to strings.h header
o Added some missing functions from string.h
o Update SEE ALSO and STANDARDS
o Bump date.

From Slava Semushin in private mail.
2007-02-17 09:00:37 +00:00
cbiere
9946ea710f Avoid lint warning. 2007-01-14 23:41:24 +00:00
cbiere
3984c614f6 Look only at the first `n' characters to avoid traversing a potentially
huge string for nothing.
2007-01-14 18:48:28 +00:00
dyoung
e3361bb265 Add strsep(3) to libkern.
To avoid code duplication, move strsep.c to the kernel/userland
common files.

Soon I will commit source-address selection (options IPSELSRC).
It will use strsep(3).
2006-11-13 03:26:43 +00:00