Commit Graph

7871 Commits

Author SHA1 Message Date
christos
5207347451 Add a special lint stub for __sigaction14 which broke when we switched
to sigaction_sigtramp.
2009-04-10 23:14:58 +00:00
christos
d4bf2b400d take the opportunity of the glob_pattern_p and add memrchr. 2009-04-10 23:14:07 +00:00
christos
3cf907e2b2 add memrchr 2009-04-10 23:13:38 +00:00
ad
4caa909fff softdep is gone 2009-04-10 22:26:10 +00:00
joerg
65a94a80fd Fix markup 2009-04-09 00:06:44 +00:00
joerg
58ad7418e8 No .br after .Sh. 2009-04-09 00:04:34 +00:00
wiz
68bd1a898e Link glob(3) to glob_pattern_p(3). 2009-04-08 19:28:48 +00:00
wiz
c2c2c34d00 Add glob_pattern_p to NAME section. 2009-04-08 19:27:39 +00:00
christos
1ef020be5f add glob_pattern_p for glibc because cvs needs it and it is a huge mess
to compile in the gnu glob code.
2009-04-08 16:28:50 +00:00
christos
3b4cda0de7 PR/41138: Henning Petersen: Redundant declarations in rpc_internal.h
While here remove __P, KNF.
2009-04-04 15:31:08 +00:00
drochner
c4bdad9349 fix typo in sigevent defaults 2009-03-26 16:55:37 +00:00
wiz
01959862b8 Sort SEE ALSO. 2009-03-25 06:46:21 +00:00
dholland
ecb714dc77 Update the note about sync returning before buffers are written: it is a
piece of historical behavior, not a current bug. Also, while here, add a
bit about disk write-back caches and point to dkctl/scsictl.
Bump date. (first time since 1993!)
2009-03-25 05:32:52 +00:00
drochner
a75975a121 minor fix in description of an error condition 2009-03-24 22:34:54 +00:00
joerg
4b3b61f0a1 Remove/convert physical markup. 2009-03-23 14:11:27 +00:00
joerg
cc420b6c04 ANSIfy. Remove conditionals around __RCSID. 2009-03-20 14:05:54 +00:00
joerg
cc5989d71d ANSIfy. Remove conditional macros around __RCSID. 2009-03-20 13:56:57 +00:00
joerg
c2d267f257 Remove redundant markup as .Bl does vertical spacing already. 2009-03-15 09:31:07 +00:00
joerg
fd0a2075ae Fix markup. 2009-03-15 09:26:07 +00:00
joerg
854ee47087 Declare all columns. 2009-03-15 08:05:22 +00:00
joerg
af1b54d7d6 Fix markup of cross reference. 2009-03-15 08:04:12 +00:00
joerg
6edb9354b8 ".The" is not a valid macro, fix up. 2009-03-15 08:02:02 +00:00
joerg
9df66b68e0 Explicitly mark : as literal, use Pq. 2009-03-12 12:51:29 +00:00
joerg
441cf5a9bb Replace physical markup with .Bl -column. 2009-03-12 12:50:31 +00:00
wiz
62fcccac72 Fix error in previous, found by joerg. 2009-03-12 10:18:37 +00:00
wiz
9f5b355274 Use comments instead of .ig (requested by joerg).
Sort errors while here.
2009-03-12 10:16:37 +00:00
wiz
cf26bd22fc Do not mark up punctuation. 2009-03-11 16:26:35 +00:00
joerg
d23280d626 Fix markup 2009-03-11 13:36:55 +00:00
joerg
0e5f0af7e9 Fix preamble 2009-03-11 13:35:21 +00:00
joerg
ec28f83cbc Give the full prototype for all ctype functions/macros.
Remove redundant .br.
2009-03-11 12:57:03 +00:00
joerg
edc0d6c151 Fix prologue. 2009-03-10 23:37:01 +00:00
joerg
fa91a1ac51 Use .An for author list. 2009-03-10 23:36:10 +00:00
joerg
a7d7c3857f Remove redundant .IP. Remove use of .Xo/Xc to workaround ancient macro
argument limit.
2009-03-10 23:25:32 +00:00
joerg
bfe775a869 Remove redundant .Pp 2009-03-10 23:14:40 +00:00
joerg
e85762f4cf Specify width for tag list 2009-03-10 21:00:47 +00:00
joerg
ed0b365527 Use .An for the author instead of more physical .Bl. 2009-03-10 20:59:49 +00:00
joerg
51fed7bd6c Add missing .Os. 2009-03-10 13:21:52 +00:00
joerg
9d4bdfc640 Use MAP_FAILED and NULL. 2009-03-10 13:15:40 +00:00
joerg
997634fe14 Fix preamble to match order set out by mdoc(7). Discussed with wiz. 2009-03-09 19:24:26 +00:00
tnozaki
c7281b0c86 fix static linking setlocale(3) problem, reported by Aran Clauson
at current-users, thanks a lot!
2009-03-09 02:22:25 +00:00
he
5da54c35c9 Based on input from Eduardo Horvath (eeh@), replace 'stmd' and 'lmd',
which apparently don't exist as instructions, with a sequence of
std / ld instructions.

Also remove the attempted include of ldstm.S which we don't have.
2009-03-08 18:57:12 +00:00
apb
6aae635b8d According to Alexander Bluhm in tech-toolchain on 31 Jan 2009, the way
these files use __weak_alias causes build failures under OpenBSD,
because the OpenBSD __weak_alias macro expects the caller to supply a
semicolon, but the NetBSD __weak_alias macro supplies its own semicolon.

Attempt to fix this by avoiding the use of __weak_alias during a tools
build.
2009-03-06 18:15:23 +00:00
explorer
c29ff9b310 a better method to truncate at // marks 2009-03-03 16:22:33 +00:00
explorer
31c448a301 Check for NULL return from strdup() 2009-03-03 15:42:43 +00:00
explorer
7c353a46b6 Ignore the magic // commands in iconv_open(). This was discussed on current-users about a month ago, and ignoring the options was the best suggestion. 2009-03-03 14:39:06 +00:00
christos
c9216fc526 no more weak here. 2009-03-01 19:59:55 +00:00
pgoyette
e3eb5958e0 Avoid possible integer overflow and subsequent collateral damage.
Received from OpenBSD via US-CERT as VU #590371.

Original OpenBSD commit log:

> revision 1.42
> date: 2009/02/11 13:24:05;  author: otto;  state: Exp; lines: +9 -1
> Avoid level going negative on deep (i mean really deep) dirs. Reported
> by Maksymilian Arciemowicz. ok kettenis@ millert@
2009-02-28 14:34:18 +00:00
wiz
4760c8b288 New sentence, new line. Use more markup. 2009-02-27 16:48:02 +00:00
pooka
cd39a9d18a Remove mentions of MAP_COPY, it's not available and trying to use it
will result in compile failure.
2009-02-27 16:23:54 +00:00
ad
07a1846337 Remove pointless AUTHORS sections. The names are in the source and CVS
history along with everyone else who has contributed.
2009-02-25 20:50:16 +00:00
christos
2c266c8a4c version alphasort. 2009-02-24 18:41:40 +00:00
dholland
45e10be5f4 Add __warn_references to getdirentries(), per PR 37730. Okayed by Christos
a while back.
2009-02-22 06:33:38 +00:00
martin
c79c3eed1d Make NAN a compile time constant (with help from the compiler). Suggested
by krister. Fixes PR 40695.
Make references to the old construct (which we can't remove for binary
compatibility reasons) emit a linker warning.
2009-02-22 01:34:01 +00:00
christos
eb7fe43718 fix sign comparison warning in debug build. 2009-02-21 17:20:01 +00:00
roy
dbf72b0e6a printf("%zi\n", (ssize_t)-1); now correcly prints -1 on i386
ok: christos
2009-02-20 09:23:37 +00:00
njoly
73766a83b8 Fix mdoc warning (missing .El directive). While here, use a single
list for multiple items.
2009-02-17 18:51:56 +00:00
lukem
d52f6f4b6b fix -Wsign-compare issue (seen on arm), using similar technique
to ../bits64/softfloat-macros
2009-02-17 02:43:39 +00:00
lukem
be48221f4f A variation on the sign-compare fix for these. 2009-02-16 10:40:45 +00:00
tron
ae34e73bcb Fix -Wsign-compare issue (on NetBSD/sparc64). 2009-02-16 10:34:15 +00:00
tron
ea68052342 fix -Wsign-compare issue (on sparc64) 2009-02-16 10:23:35 +00:00
lukem
e95441b0ce fix -Wsign-compare issue (on alpha) 2009-02-16 05:22:00 +00:00
lukem
b85aa1ea53 fix -Wsign-compare issue 2009-02-16 03:23:29 +00:00
lukem
c8c03b97dd fix -Wsign-compare issues (untested) 2009-02-14 06:26:42 +00:00
lukem
79362ba3ea avoid lint's whining on i386 2009-02-13 04:01:46 +00:00
uebayasi
30399256d4 Enable assertions only when _DIAGNOSTICS is defined, as other libc parts do. 2009-02-12 16:24:59 +00:00
lukem
c7201a0f39 fix -Wsign-compare issues 2009-02-12 06:35:54 +00:00
lukem
eb0de3bfe5 fix sign-compare issues 2009-02-12 06:33:13 +00:00
lukem
64d3d6de80 sign-compare fixes 2009-02-12 05:06:54 +00:00
lukem
4359ce3c5f sign-compare fix 2009-02-12 05:03:47 +00:00
lukem
71d48e7c9e sign-compare fixes 2009-02-12 04:57:46 +00:00
lukem
2770a3ae8f sign-compare fixes 2009-02-12 04:40:40 +00:00
lukem
2d59e2af1e sign-compare fix 2009-02-12 04:38:52 +00:00
lukem
102c672a15 sign-compare fixes 2009-02-12 04:32:05 +00:00
lukem
deeb06e363 sign-compare fixes 2009-02-12 04:13:08 +00:00
lukem
8483a30314 sign-compare fix 2009-02-12 04:10:52 +00:00
lukem
9d1671f467 Fix sign-compare issues 2009-02-12 03:34:33 +00:00
lukem
19b046886f fix sign-compare issue 2009-02-12 03:12:36 +00:00
lukem
2360d0845a Apply some of FreeBSD libc/stdlib/malloc.c rev 1.162
to fix sign-compare issues.
2009-02-12 03:11:01 +00:00
lukem
cfd7bc0451 Fix sign-compare issues.
Ensure provided uio_resid >= 0; negative sizes have "interesting"
semantics elsewhere in stdio, so it's better to avoid them.
2009-02-11 23:48:17 +00:00
christos
028f3ea750 fix typo * -> & from enami. 2009-02-11 13:52:28 +00:00
christos
ed71b85e85 remove debugging. pointed by enami 2009-02-11 13:51:59 +00:00
lukem
da77f10ac5 sign-compare fix 2009-02-11 05:25:17 +00:00
christos
bb0dd61478 Add RFC 2045 MIME Quoted-Printable support. 2009-02-10 23:06:31 +00:00
tnozaki
5f8a9fb1ee fix typo, don't overwrite LC_TIME's t_fmt_ampm by t_fmt. 2009-02-09 14:39:48 +00:00
lukem
53e9163a95 sign-compare fix 2009-02-07 07:25:22 +00:00
lukem
f0772e2d1f sign-compare fix 2009-02-06 23:47:44 +00:00
lukem
6f550c4d36 sign-compare fix 2009-02-05 23:52:55 +00:00
lukem
fc2df2f1c0 sign-compare fix 2009-02-05 23:22:39 +00:00
lukem
8bbffe062a sign-compare fix 2009-02-05 13:21:11 +00:00
lukem
38d40fc9f8 sign-compare fix 2009-02-05 05:39:38 +00:00
lukem
5e1ba2f2e6 sign-compare fix 2009-02-05 03:22:37 +00:00
lukem
14fddbd703 fix sign-compare issue 2009-02-03 05:21:24 +00:00
lukem
a99197aa1c sign-compare fix 2009-02-03 04:58:38 +00:00
lukem
bc395719cc sign-compare fix 2009-01-31 06:08:28 +00:00
lukem
e1e343f9f7 sign-compare fix 2009-01-31 00:08:05 +00:00
wiz
b85179b9a1 Remove empty trailing line. 2009-01-30 23:52:28 +00:00
lukem
957ba389e8 sign-compare fix 2009-01-30 23:46:03 +00:00
lukem
8a09e86085 sign-compare fix 2009-01-30 23:35:35 +00:00
ad
397f5192b2 Update for SUSv2 compliance. 2009-01-30 23:26:54 +00:00
ad
c984f259af Make threaded programs die correctly:
kill(getpid(), SIGFOO) -> raise(SIGFOO)
2009-01-30 23:21:02 +00:00
mhitch
86223c379c The explicit integer bit is "don't care" for infinity, and now that it's
included in ext_frach, it needs to be masked off when testing for an
infinity value.  Fixes the ieeefp/infinity regression test on the 68060
which clears the explicity integer bit when loading an infinity value.
2009-01-30 07:00:45 +00:00
rmind
97267cc4e2 Change raise(3) to be thread-aware - send the signal to current LWP.
From <ad> via PR/40341.
2009-01-29 23:52:21 +00:00
enami
4e5aed7e08 Put back rev. 1.20 so that nbpwd_mkdb built on 32bit time_t host generates
correct pwd.db.
2009-01-29 10:41:39 +00:00
wiz
cc2e7350a1 Bump date for new STANDARDS section. 2009-01-29 10:15:39 +00:00
martin
9e8a2fc070 __posix_fadvise50() does not use the standard errno behaviour, but returns
the error value itself - so move it from ASM to NOERR. Pointed out by
Nick. I have no idea how/if this ever could have worked, but I would swear
I realy tested it when I last touched it! Fixes the sys/fs/posix_fadvise
regression test.
2009-01-29 08:47:43 +00:00
lukem
79becf98cb sign-compare fixes 2009-01-29 02:02:36 +00:00
gdt
04532cd1e6 Note that strdup is specified by POSIX.1. 2009-01-28 19:12:40 +00:00
wiz
ce889b3001 Bump date for previous. Sort ERRORS. 2009-01-28 08:57:02 +00:00
mrg
798e718222 fix a very old resolver bug:
when looping over the current list of sockets we're connected to,
use getpeername() not getsockname() to find out who the remote
end is.  avoid spurious close()s and (rare) failure.

apparently known as ISC bug #18625, and fixed in libbind 6.0
2009-01-27 05:13:23 +00:00
drochner
92b9f070f2 remove stale getdevmajor() declarations, fixes lint(1) warning
reported by Bernd Ernesti
2009-01-26 15:05:56 +00:00
njoly
122f627e90 Make msgsnd(2)/msgrcv(2) fail with EINVAL for messages larger than
SSIZE_MAX. Adjust man pages accordingly.

ok by christos.
2009-01-26 13:08:48 +00:00
skrll
14c5fc5d63 Sprinkle the "memory" clobber register so the fpsr manipulation actually
happens.

Fixes the ieeefp/except regresion test.
2009-01-25 16:44:41 +00:00
tls
8d33a6da32 Cause getaddrinfo() without socktype specification to work correctly for
numeric addresses.  The documentation appears to say this works, and some
other systems support it -- more importantly, why should it _not_ work?  If
it does not, getaddrinfo() cannot be used as a general-purpose textual to
binary address conversion utility function; yet it is the only such function
we have in the system, since inet_pton() requires a priori knowledge of the
address family.

This change also causes getaddrinfo() with NULL hint (expressly documented
as working) to work properly for numeric addresses.
2009-01-23 00:48:57 +00:00
drochner
ad965be01b cleanup after devmajor_t:
-since getdevmajor(3) is now binary compatible again with <=5.0
 there is no need to rename, I've just left a __getdevmajor50 symbol
 temporarily for those who track -current
-update manpage
2009-01-20 20:08:12 +00:00
drochner
d767912be3 Change major()/minor() to return 32-bit types again, called
devmajor_t/devminor_t, as proposed on tech-kern.
This avoids 64-bit arithmetics and 64-bit printf formats in parts
of the kernel where it is not really useful, and helps clarity.
2009-01-20 18:20:47 +00:00
tnozaki
db74109901 PR lib/40411, nuke wctrans_init(). lazy initialization is not good idea.
statically initialized _DefaultRuneLocale.rl_wctrans field.
so we can re-const-ify _DefaultRuneLocale.

pkgsrc/shells/standalone-tcsh should be rebuild,
because it's staticaly linked binary.
2009-01-18 22:03:19 +00:00
christos
503c6c0a79 try a different approach since allocating a new RuneLocale is complicated.
Don't make DefaultRuneLocale const, so that we can write to it, and undo
previous changes.
2009-01-18 19:53:11 +00:00
drochner
fb535ac77e Make mktime(3) work with 64-bit time_t.
The problem is that the tm_year field of "struct tm" is just an "int"
(per POSIX), and thus time_t values >  2^31*60*60*24*365 cannot
be converted. This made mktime(3) fail even if no such large time values
were passed in by user code because the algorithm does a binary search
over the time_t range which fails if a probe value cannot be converted.
To fix this, limit the time_t range to be scanned to 55 bits (which
is a bit on the safe side, but still good until y570855533).
This is more a stopgap fix, the overflow should be checked for
at other places as well (eg localtime(3)), and there are some more
limitations in timezone parsing code.
2009-01-18 10:57:15 +00:00
christos
15d0878308 use a separate variable to copy the locale. 2009-01-17 17:56:01 +00:00
christos
361e31839f make this compile [now that I am on a machine that can compile :-)] 2009-01-16 21:18:37 +00:00
christos
826ddf7ef5 PR/40411: Hisashi T Fujinaka: standalone-tcsh dumps core when tab completing
The new rune code abuses __UNCONST to lazily initialize _RuneLocale. If
that happens to be the _DefaultRuneLocale which is const, the program will
core-dump because it will attempt to write to read-only memory. Catch this
and clone a copy of the locale and return it. The reason we don't see
everything core-dumping is because our shared library code probably loads
the text segment COW so it works (Is there an mprotect missing somewhere?).
But on statically linked binaries this is not the case and we die.

XXX[1]: Vet the code so that we are sure that there is no more of that
        happening trying to get rid of much of the __UNCONST'ing.
XXX[2]: This needs to be fixed for 5.0 and all related fixes.
XXX[3]: There is one place in the code where _DefaultRuneLocale is treated
	specially, does the patch break things?
2009-01-16 21:12:11 +00:00
drochner
21a81eb749 update struct timeval 2009-01-16 10:52:07 +00:00
christos
584a4c6af9 don't use glue for semctl, the number of underscores makes this an intractable
problem :-) Use regular wrappers like we do with sigtimedwait.
2009-01-16 00:02:57 +00:00
christos
74070c3c8c fix the semctl glue build that worked before by chance by side effects of
building the the assembly stub as a normal stub. Just build it as a glue
stub.
2009-01-15 01:35:45 +00:00
christos
209f6eb5bd add another directory the cvs did not merge. 2009-01-11 03:56:22 +00:00
christos
f943330f91 merge another directory that cvs missed. 2009-01-11 03:46:25 +00:00
christos
404fbe5fb9 cvs does not -j new directories, do it manually. 2009-01-11 03:41:28 +00:00
christos
461a86f9bd merge christos-time_t 2009-01-11 02:45:45 +00:00
lukem
4a94e73441 Change the second argument of getlogin_r() from int to size_t, per POSIX. 2009-01-06 11:16:46 +00:00
wiz
bdd95bc725 Add missing newline. 2009-01-06 00:13:02 +00:00
pooka
5369f33800 Return of the Flag: There is no PROT_EXECUTE. 2009-01-05 22:11:48 +00:00
tnozaki
38eee9115b add more item for major bump:
_ctype_ table in ctype.h and gen/ctype_.c has insufficient bitwidth.
2009-01-05 07:50:23 +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
dogcow
c67ae0d68b define __UNCONST for OSes that don't have it when building tools/mklocale 2009-01-05 03:14:30 +00:00
dogcow
441204832d move nbtool_config.h include to top. 2009-01-05 03:10:02 +00:00
wiz
a711e8e9e4 Fix HTML output. 2009-01-04 09:42:43 +00:00
dholland
6557571403 Rework the text to make it clearer; it was really pretty confusing before.
Add an example; note some bugs/shortcomings. Bump date.
2009-01-04 07:54:15 +00:00
dholland
8f5f9030b6 SEE ALSO getmode(3)/setmode(3).
Suggested in passing by Joerg a long time ago on tech-pkg, seems like
a good idea.
Bump date.
2009-01-04 07:21:01 +00:00
lukem
a2c38ed82e Ensure fts_close() doesn't spuriously close fd 0,
by testing FTS_SYMFOLLOW in fts_flags instead of fts_options.
Fix provided by Ben Harris in PR 40319
2009-01-03 06:12:14 +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
ad
12c911ef99 Add more items for major bump. 2008-12-28 10:59:20 +00:00
christos
a41cd06ba5 PR/9359: Chris Demetriou: Document fread/fwrite mixing behavior. 2008-12-19 20:20:48 +00:00
christos
20ffd1f752 fix return values for snprintf and vsnprintf. 2008-12-16 23:09:19 +00:00
christos
47b2a9219c document svc_getrpccaller 2008-12-12 23:22:26 +00:00
wiz
5d7029bf64 Sort sections, sort SEE ALSO, remove trailing whitespace. 2008-12-11 09:07:46 +00:00
yamt
ad61a2c71e move a description of return values into the RETURN VALUES section. 2008-12-11 04:30:57 +00:00
christos
c900253da8 Martin says:
I had added a getaddrinfo()/getnameinfo() lookup to obtain an FQDN even
if gethostname() would return only the local part of the hostname.
I did not really consider that many systems do not have FQDNs and more
importantly that the calls introduce a high latency (timeout) when DNS
is not available.

On the other hand I do not (or no longer) think that using a non-FQDN is
such a big problem here. Those users/admins that do collect logs from
different hosts and want an FQDN should notice the problem quickly
enough and can easily fix it by correctly setting their hostname.
2008-12-10 15:20:04 +00:00
wiz
edd8540874 New sentence, new line. Bump date for fdopendir. 2008-12-05 13:26:41 +00:00
ad
117c67b2f2 Add fdopendir(), from Solaris/Linux. 2008-12-05 13:08:53 +00:00
christos
c450dd749d correct EBADF bogus comment. 2008-12-02 19:20:06 +00:00