christos
3bbc95f39d
Add rl_forced_update_display() from Gerry Swislow
2008-04-04 21:18:34 +00:00
jmmv
53501bc8e0
Improvements and fixes from J. Vicente Carrasco sent by private mail.
2008-04-03 10:47:27 +00:00
drochner
b5e4e50433
remove stale declarations
2008-04-01 19:19:33 +00:00
chris
c82cfbf571
Use SYSTRAP macro, rather than inlining the swi instruction.
...
This makes sure the SWI will be in the NetBSD assigned range of swi
numbers.
2008-03-30 21:22:05 +00:00
joerg
a92488c994
Update for libarchive-2.5.0b.
2008-03-30 05:32:16 +00:00
mlelstv
1155fc6c2d
add <der.h> header used by external software.
2008-03-29 19:58:37 +00:00
wiz
18ba1efdd8
Install /usr/include/gssapi.h; this file is needed since applications
...
using Heimdal expect ``#include <gssapi.h>'' to work in combination
with the ``krb5-config --cflags'' output.
Ok mlelstv.
2008-03-29 17:51:42 +00:00
dholland
5b571a159f
Add a note clarifying that getprogname() results are not trustable in a
...
setugid environment. Prompted by PR 38327 discussion.
2008-03-29 16:51:40 +00:00
he
c2dbd6e374
Make this build again.
2008-03-28 00:56:54 +00:00
christos
23b2e3cd80
Fix another integer overflow issue discovered by Maksymilian Arciemowicz.
...
On top of this, limit the range of getnumber to 0x00ffffff to make sure
that adding two of them does not cause an integer overflow.
2008-03-27 21:50:30 +00:00
jdc
35ce34ed43
Don't define HAVE_WCHAR if DISABLE_WCHAR is defined.
...
Pointed out by martin@.
2008-03-24 16:57:28 +00:00
tnozaki
690d9c4d8a
add comment about renaming of setlocale -> __setlocale_mb_len_max32.
2008-03-24 12:54:38 +00:00
yamt
7f068c6aa5
mention fpos_t
2008-03-23 15:33:26 +00:00
ad
ecdd2c2965
Cheat and add inlines for _atomic_cas_ptr() to work around gcc emitting
...
unneeded PIC stuff in mutex_lock() and mutex_unlock(), when a thread
register is used.
2008-03-22 17:59:12 +00:00
ad
783e2f6db5
Back out previous. It seems to expose another bug in libpthread/libc,
...
potentially errno being used before threading is up and running.
2008-03-22 14:19:27 +00:00
mlelstv
2370a334ab
Import Heimdal-1.1
...
more missing files
2008-03-22 09:29:55 +00:00
mlelstv
b0f88a0388
Import Heimdal-1.1
2008-03-22 08:36:48 +00:00
christos
ab6254493d
Don't coredump on out of memory conditions. This solution leaks, but gdtoa
...
is too complicated to fix. Try printf %99999999999.9999999999f 2
2008-03-21 23:13:48 +00:00
ad
159f554369
Move pthread__errno() into pthread_specific.c so it gets the "no stack
...
frame" treatment.
2008-03-21 21:35:43 +00:00
jdc
915ba4ba52
Increment libcurses minor version (termattrs() and term_attrs() added).
2008-03-21 13:43:36 +00:00
jdc
805ac24bda
Add termattrs() and term_attrs().
...
Order the descriptions so that functions handling normal and functions
handling wide attributes are grouped together.
2008-03-21 13:43:17 +00:00
jdc
1ac1993d5c
Add termattrs() and term_attrs().
2008-03-21 13:42:50 +00:00
jdc
56a23c4b24
Add termattrs() and term_attrs().
...
Conditionally define HAVE_WCHAR, so that userland programs can see wide
definitions and functions.
2008-03-21 13:42:39 +00:00
jdc
80b229386d
Add termattrs() and term_attrs() (requested by wiz@).
...
Only allow standout and underline if the terminal can do them.
2008-03-21 13:41:49 +00:00
mhitch
f8f1643217
Fix weak alias.
2008-03-20 18:49:39 +00:00
mhitch
83e4fa69d9
Add wrappers for missing coshf(), expf(), logf(), sinhf(), atan2f(), and
...
hypotf() functions for vax. Play the namespace and weak alias game for
functions used internally by the complex functions. Should fix the vax
build of libm.
2008-03-20 16:41:26 +00:00
pooka
73bad8cbdb
Reserve enough memory for ops which return more than they receive.
2008-03-20 15:28:03 +00:00
tnozaki
7ed5b48246
add BOM to utf-16/32 stream in case that endian is not specified,
...
like other iconv implementation, GNU libiconv, glibc2 iconv, perl iconv.
2008-03-20 11:47:45 +00:00
lukem
235fbd4ecb
pam_group needs libutil & libcrypt
2008-03-20 02:19:48 +00:00
plunky
1099c15782
add structure definitions relating to Personal Area Networking profiles
...
(from FreeBSD)
2008-03-19 23:13:21 +00:00
bjs
0b40e16c9a
Change version suffix back to 1.1 at request of christos@@ so that
...
users know whether or not their library has the security
vulnerability.
2008-03-19 17:10:52 +00:00
he
0db6a6b023
When compiling for _STANDALONE, omit a bunch of headers which aren't really
...
needed and which trigger build problems.
(These two files should probably be unified and put under common/...)
2008-03-18 20:11:43 +00:00
christos
00f5c7fe8d
Avoid integer overflow; reported by Maksymilian Arciemowicz.
2008-03-18 18:16:08 +00:00
christos
0738e9e28d
no more texinfo files.
2008-03-18 14:48:39 +00:00
wiz
636a4f58a9
Describe how to portable extend a file. From joerg. Bump date.
2008-03-16 11:33:40 +00:00
bjs
22c6c5ebca
s/prototyoe/prototype/
2008-03-15 20:18:20 +00:00
rearnsha
00f0061ae9
ARM/Thumb interworking support
2008-03-15 10:46:24 +00:00
christos
749de7f2a4
Since _file is a short, check that the fd fits in it, otherwise bail with
...
EMFILE. We treat _file as an unsigned short to double our range, with a
special case for -1 (closed). Make a note of what we should do about stdio
if we ever bump libc. We could change _file in the future compatibly to an
int by putting it in the extension space but for now we don't bother.
2008-03-13 15:40:00 +00:00
mrg
3db9261484
don't need <sys/tty.h> here.
2008-03-12 05:57:28 +00:00
joerg
d134e844b3
libform and libmenu need libcurses.
2008-03-12 00:21:29 +00:00
joerg
cb41266e10
Depends on libcurses.
2008-03-11 23:06:04 +00:00
rmind
38b8e432cc
Add "This API is expected to be compatible with the APIs found in Solaris and
...
HP-UX operating systems" into the STANDARDS section, as discussed with <wiz>.
2008-03-11 18:09:40 +00:00
rmind
1c7eae5598
Use size_t to avoid overflow when sorting large arrays. While here, ANSIfy.
...
Obtained from FreeBSD (das@).
2008-03-11 18:04:59 +00:00
rmind
f67f2ea584
Add pset(3) manual page, and appropriate links.
...
Thanks <wiz> for review and fixes!
2008-03-10 19:00:21 +00:00
he
71ca0c37fa
As mrg@ informs me, delay slots are indented 1 and not 2 spaces.
2008-03-10 18:31:08 +00:00
he
bbed82985f
Fix the problem that CURBRK can't be referenced directly via R_SPARC_GOT13
...
here anymore (apparently libc grew too big). Use sethi and %hi/%lo instead.
2008-03-10 18:28:43 +00:00
rmind
2ac12931eb
Add sched(3) manual page, and appropriate links.
...
Thanks <wiz> for review and fixes!
2008-03-10 14:47:06 +00:00
wiz
388f16d85b
Move previously added sentence to STANDARDS section, as suggested by yamt.
2008-03-10 12:25:55 +00:00
wiz
4111fbb94d
Mention that extending files with truncate is a POSIX extension.
...
Requested by joerg.
Bump date.
2008-03-10 11:47:28 +00:00
lukem
da757a063f
Style tweaks:
...
* test defined(HAVE_foo) not just HAVE_foo
* replace u_foo with unsigned foo
* the whitespace change whose name we dare not mention
2008-03-10 01:18:44 +00:00
drochner
33e5dbb818
fix so that it doesn't interact strangely with ARCH_SRCS definitions
...
in the base Makefile, makes the lib built correctly again for eg amd64
(seen by wiz)
2008-03-08 14:21:41 +00:00
ad
61f666ba09
_pthread_rwlock_held_np: if write locked, only return true if held by
...
the current thread.
2008-03-08 13:46:59 +00:00
yamt
b82fd04ee9
sysconf: cache the result of _SC_PAGESIZE.
2008-03-08 13:34:40 +00:00
ad
eceac52f08
Complain if _lwp_ctl() fails.
2008-03-08 13:23:13 +00:00
ad
8b2c109b14
Add a cast to make lint happy.
2008-03-08 13:22:22 +00:00
ad
91224074af
Redo the CPU-based arena selection slightly differently. With the latest
...
libpthread and kernel, this mysteriously works without a problem.
2008-03-08 13:17:13 +00:00
ad
55faac1242
pthread_key_create: instead of using a simple 1/0 value to record a key
...
as allocated, use an array of pointers and save __builtin_return_address(0)
so keys can be identified when doing post-mortem debugging.
2008-03-07 22:27:07 +00:00
ad
8548e33886
pthread__mutex_lock_slow:
...
- don't stop spinning if there are already waiters on the mutex, there is
no point.
- cosmetic change.
2008-03-07 22:23:57 +00:00
joerg
c3302ae742
Regen to get HAVE_FSTAT.
2008-03-07 20:10:55 +00:00
ad
1046045268
Keep one builtin slot so that pthread initialization doesn't need to use
...
malloc().
2008-03-07 17:56:39 +00:00
cube
c6726d686a
Bump libprop's minor after addition of prop_dictionary_make_immutable.
2008-03-05 07:55:36 +00:00
tnozaki
47d7f820fd
bin/38047 fix bad prototype for function mbrlen
...
reported by cheusov AT tut DOT by, thanks!
2008-02-28 19:36:51 +00:00
christos
908cf676a4
mention RANDOM_MAX
2008-02-28 16:16:35 +00:00
ad
0565241b89
+#define _KERNEL
...
+#include <sys/types.h>
+#undef _KERNEL
2008-02-27 15:46:23 +00:00
joerg
d59870515d
Build with WARNS=4.
2008-02-26 15:42:29 +00:00
joerg
76f009d25d
Update build infrastructure for libarchive-2.4.13.
2008-02-26 14:54:18 +00:00
xtraeme
c3e906d7a0
There's no need to do the mutex_trylock dance anymore in __cxa_finalize(),
...
just using mutex_lock() is enough.
2008-02-25 14:35:54 +00:00
xtraeme
1b5143aa5d
Add a comment for __libc_atexit_init() missed in previous that was
...
available in the original patch.
2008-02-25 14:15:10 +00:00
xtraeme
95157b046e
Make the atexit mutex recursive and initialize it in __libc_init()
...
as suggested by ad@, based on the patch provided by Sverre Froyen
in lib/37654.
Reviewed by ad@ and jmcneill@.
2008-02-25 14:06:13 +00:00
christos
972b0b15b4
doecument that we now can return eagain.
2008-02-24 21:55:45 +00:00
oster
8b2eb1e024
Add the missing 'n' to 'correspoding'.
2008-02-23 18:35:04 +00:00
sborrill
b701bbf89d
Fix tiny typo
2008-02-23 17:53:23 +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
ad
6869216239
Fix pthread_mutex_trylock() for recursive mutexes. PR lib/38087.
...
Based on a patch provided by rafal@.
2008-02-23 15:15:57 +00:00
joerg
758ec1af13
Also cast before anding the characters.
2008-02-22 19:25:59 +00:00
christos
5b9284aa07
GLOB_NO_DOTDIRS patch from mouse@
...
Fixes re-definition of GLOB_PERIOD.
2008-02-22 18:33:51 +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
garbled
f908c50890
Make use of ppc tuned assembler.
2008-02-21 17:37:00 +00:00
drochner
c7a43da627
Add manpages for the complex math functions, originally from SUSv3,
...
roff source from the Linux documentation project.
Modifications before import:
-added NetBSD RCS ID
-removed Linux PROLOG and declarations with "long double"
-ran the "deshallify" script as required by The Open Group
Split out complex related things into an own Makefile fragment.
Thanks to hubertf for directions.
2008-02-20 09:55:37 +00:00
tnn
26fe2af07d
minor pedanticism about glibc. Suggested by Joerg.
2008-02-16 17:45:39 +00:00
ad
377f098ab0
Adjust mutex/rwlock definitions to match reality now that there is only
...
one implementation of each. PR lib/38030.
2008-02-14 21:40:51 +00:00
tnn
c4bfcd4e81
Add a history section and a compatibility section.
2008-02-14 18:08:35 +00:00
rillig
e477e0fd7c
I tried to add a partition to the swap space that wasn't marked as swap
...
partition, and I got ENXIO. Since the existing description didn't apply
to this case, I added another.
2008-02-13 11:10:31 +00:00
rillig
ae9e303fcf
Aligned the text of ENXIO with the one in gen/errlist.c.
2008-02-13 10:48:18 +00:00
drochner
58cba952a0
remove a stale __weak_alias (code went into the compat section)
2008-02-12 19:36:06 +00:00
ad
a67e1e3475
- Remove libpthread's atomic ops.
...
- Remove the old spinlock-based mutex and rwlock implementations.
- Use the atomic ops from libc.
2008-02-10 18:50:54 +00:00
ad
749400b704
Crank minor for atomic ops.
2008-02-10 18:47:06 +00:00
ad
b5b3e9fb51
Enable the atomic ops in userspace.
2008-02-10 18:45:40 +00:00
ad
9c43df3853
We've got the priority/class stuff now.
2008-02-10 14:52:05 +00:00
junyoung
a81d5c256d
__attribute__((__packed__)) -> __packed.
2008-02-10 05:58:22 +00:00
yamt
603e4b9abd
update for _sched_{get,set}param changes. from rmind@.
2008-02-09 17:01:51 +00:00
junyoung
f59892f81b
u_intXX_t -> uintXX_t.
2008-02-09 14:56:20 +00:00
jmmv
2630bb2c25
Document dehumanize_number(3).
2008-02-09 09:09:04 +00:00
dholland
c60100b138
Use STDIN_FILENO and friends instead of magic constants 0/1/2.
...
Suggested by the patches in PR bin/36551 from Greg A. Woods.
2008-02-09 05:07:26 +00:00
dholland
3ad5f9069e
Document the behavior of dup2 when oldfd == newfd: nothing happens.
...
Suggested by the patches in PR bin/36551 from Greg A. Woods.
2008-02-09 04:58:30 +00:00
mrg
d638eaddc1
m68k/Makefile.inc:
...
- add __mmap.S to SRCS.
- add _lwp_getprivate.S mremap.S to ASM.
sys/Makefile.inc:
- look for __glue.S as well as glue.S.
- introduce a new ASM_MD and set it to "_lwp_getprivate.S mremap.S".
this is used for assembler files that may have non-default
implementations.
now m68k and m68000 mostly build again.
2008-02-09 02:41:06 +00:00
mrg
ecc90aa046
make all sun2 use -O0 and move most of the hacks out into just 3 files.
2008-02-09 02:37:21 +00:00
mrg
b757a71702
only use -Wuninitialized with -O>0.
2008-02-09 02:36:12 +00:00
elad
5c80416b17
PR/37962: Andrew Doran: libkvm is busted due to kauth_cred redefinition
...
Sync structure with kernel version.
2008-02-05 15:56:01 +00:00
mrg
e6f4791d95
make sun2 build again with liberal use of -O0.
2008-02-05 02:41:15 +00:00
rtr
1db9feaaa0
fix comment Abtract -> Abstract
2008-02-04 23:08:01 +00:00
jmmv
bd40f72cd9
Adjust for atf 0.4: add new files and adapt configuration.
2008-02-04 20:32:11 +00:00
christos
ed13fe5855
fix posix_memalign; we are not going to support alignments > pagesize in
...
this implementation.
2008-02-03 22:56:53 +00:00
christos
708c364c0e
namespace protection for csetexpandtc()
2008-02-02 22:06:34 +00:00
christos
0d149bc5fe
Add csetexpandtc()
2008-02-02 20:56:46 +00:00
christos
a0e4739ced
PR/37932: Yakovetsky Vladimir: build distribution with USE_FORT fails
...
Avoid read redefinition
2008-02-02 17:09:29 +00:00
christos
56709adfc9
Try to fix previous commit of /.. and /. handling for GLOB_PERIOD. I will
...
write a regression test for this.
2008-02-01 23:29:54 +00:00
ad
d8251138f4
pthread_rwlock_wrheld_np: return true only if locked by the calling thread.
2008-01-31 11:50:40 +00:00
mlelstv
58dedb340c
use the correct symbols
2008-01-31 10:07:09 +00:00
apb
9eaab5ee00
Mention use of /var/run/dev.db, and add .Xr dev_mkdb 8 .
...
Could somebody update the HISTORY?
2008-01-30 19:24:59 +00:00
pooka
04973f7441
When reading a request from the kernel, only allocate as much memory
...
as needed to read a request instead of the maximum message size.
Insanely enough, this makes "cheap backend I/O" file systems such
dtfs and sysctlfs perform 10-30% better (depending on the average
size of incoming requests).
2008-01-29 14:54:08 +00:00
abs
e26de9edf5
Adjust "The getpeereid() function appeared in NetBSD 4.0" to a more
...
correct NetBSD 5.0.
2008-01-29 13:55:27 +00:00
pooka
98d94502be
whoops, bump date - pretty significant change
2008-01-29 10:15:50 +00:00
pooka
be5ed87c1e
Fix a weirdosity in the framebuf gotfb interface: hand buffer
...
ownership to the called routine instead of keeping it. This means
that callees must now destroy the buffer once they are done with it.
2008-01-29 10:07:29 +00:00
pooka
704ded372f
Don't add asserts between testing and commit - especially not
...
if you're going to write "assert(foo = 0)"
2008-01-28 18:51:03 +00:00
pooka
7c2ddc1d53
Bump version for lazy contexts (probably not necessary, but it's
...
been a long time since I bumbed the version ;)
2008-01-28 18:42:09 +00:00
pooka
d1d05d65b9
Implement lazy contexts for file systems using puffs_mainloop().
...
Previously each request was executed on its own callcontext and
switched to every time the request was being processed. Now requests
borrow the mainloop context and switch only if/when they yield.
This takes two context switches away from a file system request
bringing down the typical amounts 2->0 (e.g. dtfs) and 4->2 (e.g.
psshfs).
The interfaces for manually executing requests changed a bit:
puffs_dispatch_create() and puffs_dispatch_exec() must now be used.
They are not tested, as nothing in-tree wants them and I doubt
anyone else is really interested in them either.
Also do some misc code cleanup related to execution contexts. The
"work-in-progress checkpoint" committed over a year ago was starting
to look slightly weed-infested.
2008-01-28 18:35:49 +00:00
christos
ef1144e6de
Always try both tcp and udp, trying first the one specified by the protocol
...
wanted.
2008-01-28 01:10:22 +00:00
christos
dedb237183
Remove static module defines; they are done in openpam.h now.
2008-01-27 20:26:56 +00:00
martin
29ef53c683
libc part of posix_fadvise changes.
...
The new compatibility stub is ABI compatible to the old syscall, so no
need to bump libc minor.
2008-01-27 16:18:22 +00:00
christos
9d58de27f0
Install a new include file.
2008-01-27 01:27:05 +00:00
christos
4466f6b5f6
Fix compilation
2008-01-27 01:23:20 +00:00
pooka
e9ff674b00
For operations with a target (remove, rmdir, link), print the
...
target cookie.
2008-01-27 00:29:24 +00:00
rmind
b5e9addd22
sched_setparam: fix the case when incorrect (according to the class)
...
in-kernel priority is used. Reported by <drochner>.
Minor fixes for scheduling calls to conform the POSIX:
- If pid is equal to zero, use the calling process;
- In case of permission problem, return EPERM instead of EACESS;
- sched_setscheduler() should return previously used policy;
- pthread_* calls should return the error code or zero;
Should fix the namespace problems (and builds of some packages):
- Move cpuset_t defintion from pset.h to sched.h;
- Remove the #include of pset.h in pthread.h;
2008-01-26 17:55:29 +00:00
christos
a1e4f75af9
PR/37864: Wolfgang Stukenbrock: when requesting TCP rcp-service port numbers
...
UDP is used
2008-01-25 19:43:53 +00:00
rafal
2e86943de9
Make this compile after Andrew's fix (remove now-unused variables)
2008-01-25 02:12:10 +00:00
ad
bba572530b
pthread_mutex_lock_slow: remove "deliberate deadlock" code that's not
...
needed with 1:1. PR lib/37524.
2008-01-25 01:09:18 +00:00
christos
8c03790350
remove redundant check.
2008-01-20 04:56:08 +00:00
weinem
0b27d36fa7
Fixes the wrong reference to s_time(1), which should be openssl(1). Closes PR misc/29998. Fix proposed by Igor Sobrado
2008-01-20 03:19:49 +00:00
christos
19884cbfe6
s/set/test/
2008-01-19 16:05:34 +00:00
christos
f2df27b721
only include <sys/pset.h> if _NETBSD_SOURCE
2008-01-19 16:03:48 +00:00
ginsbach
0d03389c52
Treat input "0x" as invalid and return INADDR_NONE. Inspired by
...
FreeBSD-PR 92880.
2008-01-19 03:46:52 +00:00
martin
3049bc6660
Use the new information about per-cpu mappings. Gdb now can examine
...
the interrupt stack.
2008-01-18 16:26:09 +00:00
christos
4e783482fa
Fix off-by-one buffer overflow. VU#203611, CVE-2008-0122
2008-01-18 16:20:57 +00:00
christos
00f5cbb6dc
From Richard M Kreuter: GLOB_PERIOD fix for trailing ./ or ../
2008-01-18 16:20:00 +00:00
pooka
c142350bc6
Fix fakecc case.
...
Noticed by Pavel Jirout on current-users
2008-01-17 17:43:14 +00:00
pooka
9f5abca72f
Comment out the puffs_executor hacks for now, they have races.
...
The issue should be solved in another fashion anyway.
2008-01-16 23:17:43 +00:00
pooka
614c59fcb2
Cache a number of execution contexts instead of re-initializing
...
them every time. Speeds up pure in-memory file systems such as
sysctlfs or dtfs quite a bit. For actual I/O-workhorses the result
is of course less tasty.
2008-01-16 21:29:59 +00:00
ad
bbc79e58a6
Pull in my modules code for review/test/hacking.
2008-01-16 12:34:50 +00:00
pooka
3a433fe13b
Use PROT_NONE page to protect bottom of stack from overrun
2008-01-16 00:29:42 +00:00
ad
eba222df68
... and make kvm_dump_inval() work on the raw device.
2008-01-15 14:16:30 +00:00
ad
a7a2d171df
Handle reading from raw disk devices.
2008-01-15 13:57:41 +00:00
rmind
5c71a4d49f
Implementation of processor-sets, affinity and POSIX real-time extensions.
...
Add schedctl(8) - a program to control scheduling of processes and threads.
Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;
Proposed on: <tech-kern>. Reviewed by: <ad>.
2008-01-15 03:37:10 +00:00
pooka
86499e8154
Remove puffs_ops from fuse_operations, no reason for it to be there.
2008-01-14 20:46:11 +00:00
pooka
aa3b40df48
return -ret from statfs
2008-01-14 16:07:00 +00:00
pooka
d7412d56b1
Introduce PUFFS_STACKSIZE_MIN to avoid overloading 0 and getting
...
a warning from the library when really wanting to say "just the
minimum, please".
2008-01-14 13:57:26 +00:00
simonb
ccab3b34ce
Remove support for NetBSD/pc532.
2008-01-10 13:40:36 +00:00
elad
e7f75b7de6
PR/35562: khorben at defora dot org: Potential denial of service when
...
listing files on an NFS share
Limit the number of retries as suggested in the PR.
Reviewed by and okay fvdl@.
2008-01-10 09:49:04 +00:00