adamdunkels
7c459c849d
The .ihex file use the intermediate Contiki-wide .$(TARGET) target instead of the MSP430-specific .firmware
2008-07-02 14:11:34 +00:00
adamdunkels
66876625d4
Changed name of the simple-cc2420 module to cc2420: changed all function names and variable names from simple_cc2420_* to cc2420_*.
2008-07-02 09:05:40 +00:00
matsutsuka
29b17c6933
Modified some glitches in startup code, and introduced additional typedefs required in the current version.
2008-07-02 07:13:22 +00:00
adamdunkels
1586d8f36f
Changed filename of the CC2420 driver from simple-cc2420 to cc2420.
2008-07-01 21:02:51 +00:00
adamdunkels
2569a8fc69
Removed unused file
2008-07-01 20:59:44 +00:00
adamdunkels
9d7c81d4ed
Added missing IPBUF definition needed for IPv6
2008-06-23 19:53:16 +00:00
adamdunkels
d094fe254f
Fixed problems with IPv6-enabled Windows XP
2008-06-23 19:52:44 +00:00
oliverschmidt
f6c310d90a
I'd better don't try to be smart by including read access into every write access - as the cc65 CBM POSIX file I/O library doesn't allow for both reading and writing at all.
2008-06-16 11:20:22 +00:00
oliverschmidt
456d7ad45e
Updated URL.
2008-06-13 20:08:06 +00:00
oliverschmidt
d619b095a9
Added some info on the high-level config macros (and other stuff).
2008-06-12 22:15:50 +00:00
oliverschmidt
929da590be
Removed '!' as gnumake already adds '.'.
2008-05-22 19:43:08 +00:00
adamdunkels
31ea41d8db
Changed the name of UIP_CONF_TCP_FORWARD to UIP_CONF_IP_FORWARD since forwarding is done at the IP level
2008-05-14 19:19:28 +00:00
joxe
57dedee38f
enabled ADC IRQs if ADC sensors active
2008-04-25 15:53:55 +00:00
oliverschmidt
b7958e3472
Fixed minor copy&paste issue.
2008-03-29 15:22:39 +00:00
oliverschmidt
3d1d6e333c
Added high level config macro for the new compiletime forwarding option.
2008-03-29 15:21:51 +00:00
oliverschmidt
e72ca9e5d4
Allow division by RTIMER_ARCH_SECOND to compile.
2008-03-28 22:38:03 +00:00
oliverschmidt
a500f2dd73
Removed unused variable.
2008-03-04 22:56:54 +00:00
oliverschmidt
a7e73d030a
Added naive snprintf support.
2008-02-16 08:56:29 +00:00
adamdunkels
da49b950d4
Count the number of times the watchdog has been stopped to avoid starting it when someone else has stopped it
2008-02-11 10:45:19 +00:00
adamdunkels
660b7f9a78
Initialize watchdog instead of stopping and starting it
2008-02-11 10:44:49 +00:00
oliverschmidt
a685acd23a
Turned rtimer_arch_now() from a (one line) function into a macro.
2008-02-09 14:02:12 +00:00
oliverschmidt
604a9c2bf0
Removed (now obsolete) PROCESS_LOADABLE.
2008-02-07 19:56:56 +00:00
adamdunkels
cf5ff2bbb2
Made SLIP code coexist with ordinary serial code. If WITH_UIP=1, the SLIP code is used instead.
2008-02-03 20:59:35 +00:00
adamdunkels
e68d669265
Added improvements suggested by Hardy Greich: define CPU speed in one place only (contiki-conf.h), added nop to XTAL settlement delay
2008-02-03 20:58:11 +00:00
adamdunkels
a4d5ca833c
Update the periodic watchdog only if it is not stopped
2008-01-21 10:39:23 +00:00
adamdunkels
f2599b38e7
Added a WERROR variable, which, if set, causes -Werror flags to be turned on
2008-01-17 12:07:32 +00:00
adamdunkels
a46aceb5f8
Added generation of symbols.c if CORE is set
2008-01-08 08:04:41 +00:00
adamdunkels
e16b7ffcf0
Changed the return value of the inpt handler function to int so that it can wake up the CPU from LPM
2008-01-08 08:04:09 +00:00
adamdunkels
7f05b8a5ef
Added a reboot function
2008-01-08 08:03:02 +00:00
adamdunkels
b50d2b02ee
Reformatting to comply with code style
2008-01-08 08:01:41 +00:00
adamdunkels
345d0a8a79
Added a WERROR definition that can be used to turn -Werror on
2008-01-08 08:01:01 +00:00
oliverschmidt
b96c9deebc
Added "usual" comments.
2008-01-04 21:53:32 +00:00
oliverschmidt
bb19396d21
Introduced yet another high-level config macro.
2008-01-01 19:47:03 +00:00
oliverschmidt
216d20dabb
Allow to implement cfs API on preprocessor level using a "pfs" (platform file system) by setting a new high-level config macro.
2008-01-01 17:44:24 +00:00
oliverschmidt
faad65bddd
Use cfs filesystem to allow for specific implementations.
2007-12-24 00:13:28 +00:00
oliverschmidt
93ff3add1f
Use cfs filesystem to allow for specific implementations.
2007-12-23 15:37:28 +00:00
oliverschmidt
5592b1df6c
Implement cfs API on preprocessor level using POSIX functions..
2007-12-23 15:29:19 +00:00
oliverschmidt
fda38428d9
Introduced some more high-level config macros.
2007-12-23 13:55:38 +00:00
oliverschmidt
14a8cf7200
Made use of the new high-level config macros.
2007-12-23 12:33:57 +00:00
oliverschmidt
125f261b7d
Introduced high-level macros to be set on the make command line. They allow easy configuration of Contiki for typical (cc65-)project scenarios.
2007-12-23 12:32:43 +00:00
oliverschmidt
0564cc50fd
Splitted POSIX based cfs implementation to avoid pulling in potentially large POSIX directory I/O functions without needing them at all.
2007-12-21 01:36:01 +00:00
oliverschmidt
102e3e2a24
Make use of fastcall.
2007-12-21 01:13:44 +00:00
oliverschmidt
e4086d8374
Use cfs filesystem to allow for specific implementations (and make use of fastcall).
2007-12-21 01:04:29 +00:00
oliverschmidt
ae4978e994
Moved z80 specific line to z80 makefile.
2007-12-21 00:49:40 +00:00
oliverschmidt
1863f8aef2
Added generic ctk mouse implementation based on cc65 mouse drivers.
2007-12-20 22:47:39 +00:00
oliverschmidt
2c45596f5c
Optimized non-logging scenario.
2007-12-20 20:49:59 +00:00
oliverschmidt
14fa993204
Define an empty rtimer_arch_now() macro to keep compiler happy.
2007-12-20 20:28:34 +00:00
oliverschmidt
333ad36a4a
Added general ctk support to the cc65 build.
2007-12-16 17:03:27 +00:00
oliverschmidt
f55b3cfe0e
So we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities.
2007-12-16 17:02:37 +00:00
oliverschmidt
8644822a34
Soe we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities.
2007-12-16 13:08:09 +00:00
oliverschmidt
805f3f87d3
Make the "empty" error_exit implementation the default to be optionally overridden.
2007-12-16 13:05:23 +00:00
oliverschmidt
b32f0643ab
Moved stuff into sys subdir to clean up the apple2enh dir (and because the corresponding shared res. cpu stuff is in the sys dir as well).
2007-12-15 11:04:11 +00:00
oliverschmidt
e59252ab29
Moved stuff into sys subdir to clean up the 6502 dir (and because the corresponding shared stuff is in the sys as well).
2007-12-15 00:14:18 +00:00
oliverschmidt
983688bef6
Use C99 type to typedef Contiki types.
2007-12-15 00:06:27 +00:00
joxe
f997ec6231
fixed defs and to compile for atmega32 also - has no TCNT3
2007-12-11 17:21:14 +00:00
oliverschmidt
2bcabc061d
Optimized to work with logging turned off.
2007-12-08 22:34:59 +00:00
oliverschmidt
382603b581
Made error_exit() implementation target-specific.
2007-12-08 22:21:50 +00:00
oliverschmidt
70321f690f
Made error_exit() implementation target-specific.
2007-12-08 22:16:43 +00:00
oliverschmidt
4defaddf31
Avoid pulling in the DNS client. Later we'll want to have this configurable.
2007-12-08 21:48:49 +00:00
oliverschmidt
a54195ff04
Fixed to work with logging turned off.
2007-12-08 21:47:26 +00:00
oliverschmidt
69a16d89c5
Fixed typo.
2007-12-08 21:19:06 +00:00
oliverschmidt
a980f40bf6
Take in account that the C64 Retro Replay clockport needs to be activated in order to work with the RR-Net Ethernet card.
2007-12-08 21:05:48 +00:00
oliverschmidt
1afc872a29
cc65 has recently become more restrictive...
2007-12-06 10:36:33 +00:00
oliverschmidt
45988fdfd0
Fixed LAN91C96 driver.
2007-12-01 20:23:11 +00:00
oliverschmidt
9f1feb6e26
Added LAN91C96 driver.
2007-11-30 12:34:08 +00:00
oliverschmidt
66717d11ba
Generic SMSC LAN91C96 driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
...
- ETH64 ($DE10)
- Apple2 LANceGS ($C0x0)
2007-11-30 12:32:07 +00:00
oliverschmidt
b51a680a02
Minor optimization.
2007-11-29 21:56:55 +00:00
fros4943
3a0ba03407
added experimental avr rtimer-arch implementation
...
8 seconds wraparound
2007-11-29 02:44:05 +00:00
oliverschmidt
394d70c57d
Added some info on the 6502 targets.
2007-11-28 18:19:14 +00:00
adamdunkels
95ffdc283e
Forgot to remove -Werror
2007-11-28 17:17:19 +00:00
adamdunkels
7e89af8992
Removed -Werror -pedantic and -std=c99 because of problems with compiling under Linux
2007-11-28 17:15:15 +00:00
matsutsuka
80f858b68b
typedef uint8_t, uint16_t, and uint32_t have been added to help some sources.
2007-11-28 09:36:06 +00:00
matsutsuka
fbb8fb409a
The Micro-Executable Format (MEF) support (experimental).
2007-11-28 06:13:24 +00:00
oliverschmidt
9d39b4be54
Added global error_exit() and config read function to build.
2007-11-27 21:43:32 +00:00
oliverschmidt
6028fccc39
Added read function for a simple binary config file.
2007-11-27 21:42:02 +00:00
oliverschmidt
67af780c93
Made include paths consistent.
2007-11-27 20:54:10 +00:00
oliverschmidt
20824c5603
Make use of global error_exit().
2007-11-27 20:52:52 +00:00
oliverschmidt
2ef0eec6f6
Made error_exit() globally available.
2007-11-27 18:17:47 +00:00
oliverschmidt
18d591206e
Added (default) log implementation for cc65 targets.
2007-11-27 16:48:44 +00:00
oliverschmidt
689e0f077a
Added some info on the wpcap driver.
2007-11-27 13:06:55 +00:00
adamdunkels
6e0e6e1279
Removed -Werror since LPM*_EXIT; and friends trigger an internal mspgcc compiler error
2007-11-26 23:23:20 +00:00
oliverschmidt
74c4e10f23
No reason to not just compile petsciiconv.c for all cc65 targets.
2007-11-25 21:43:55 +00:00
oliverschmidt
7fc383e100
Minor change in comment.
2007-11-24 12:57:09 +00:00
fros4943
2564882015
only create full symbols list if SYMBOLS is defined
2007-11-23 06:22:52 +00:00
oliverschmidt
5608e2d451
Minor adjustment to predominant coding style.
2007-11-22 11:41:18 +00:00
oliverschmidt
a2dd620ecc
Allow the webserver and telnetd examples to build.
2007-11-22 11:40:17 +00:00
oliverschmidt
da44474fd4
Generic Ethernet driver for cc65 targets. The actual hardware driver is loaded as relocatable module.
2007-11-20 21:10:20 +00:00
oliverschmidt
e6e6ea415c
Generic Cirrus Logic CS8900A driver for cc65 targets. The driver is intended to be loaded dynamically as relocatable module. It modifies itself to accomodate different Ethernet IO address locations:
...
- C64 TFE ($DE00)
- C64 RRNet ($DE08)
- Apple2 Uther ($C0x0)
2007-11-19 23:14:14 +00:00
oliverschmidt
9a96dbca03
Moved currently inconsistent files to backyard to clean up for release 2.1
2007-11-19 23:00:33 +00:00
joxe
a4985fd1f7
removed offset in rtimer_arch
2007-11-19 22:38:57 +00:00
ksb
437ba5bbf4
Removed warnings
2007-11-18 12:18:59 +00:00
oliverschmidt
d609db3580
Removed compiler warnings.
2007-11-18 01:36:59 +00:00
oliverschmidt
eabf01903d
Replaced most type definitions with reference to stdint.h.
2007-11-17 23:42:23 +00:00
oliverschmidt
b8b6b6239e
Allow to build both with Cygwin and VC++.
2007-11-17 21:33:53 +00:00
oliverschmidt
eb3fda68c7
Source reformatting only.
2007-11-17 20:00:42 +00:00
adamdunkels
1e1e44a3f8
Fixed compiler warnings to make code compile with gcc's -pedantic switch
2007-11-17 18:01:00 +00:00
adamdunkels
1070fe19a3
Added rtimer_arch_now prototype
2007-11-17 10:47:22 +00:00
adamdunkels
4ce9b8a33b
Added -Werror to turn compiler warnings into errors to ensure that code always compile without warnings
2007-11-17 10:37:28 +00:00
adamdunkels
2132462716
Updated to use the watchdog API
2007-11-17 10:28:04 +00:00
adamdunkels
19b7bd9217
Fixed watchdog support for the MSP430. It now works as intended
2007-11-17 10:16:48 +00:00
adamdunkels
22cb35e9f6
Added -Werror to turn compiler warnings into errors to ensure that code always compile without warnings
2007-11-17 10:11:58 +00:00
fros4943
53ea3cd7bf
removed symbols from .elf output (but always included with .out)
...
+ uncommented unused %.ce target (check Makefile.include to enable it)
2007-11-16 09:19:22 +00:00
adamdunkels
f192211444
Added a hack function called clock_counter() to make the current prototype profiling code run on the MSP430 platform
2007-11-12 21:07:39 +00:00
adamdunkels
585f00a804
Removed old codeprop-tmp.c
2007-11-06 20:35:42 +00:00
fros4943
deeed3389a
added dummy RTIMER definition
2007-11-01 16:26:58 +00:00
fros4943
559e3eb6ea
removed platform specific definitions
...
+
changed default linker to gcc (as for the default linker arguments)
2007-11-01 16:26:31 +00:00
joxe
7fe87db86a
fixed some timer interrupt bugs and reimplemented clock_fine to avoid disabling interrupts
2007-10-04 20:45:29 +00:00
fros4943
5f63995265
support for delayed interrupts
...
earlier TACCR1 could be set to already passed time if timer A interrupts was delayed
2007-10-04 14:14:58 +00:00
matsutsuka
0ab5a22a47
Fixed a minor glitch
2007-10-01 23:04:02 +00:00
matsutsuka
4d6d5eb8ff
RS232 support has been unified from just 'dumb' serial line and SLIP support.
2007-09-29 03:58:38 +00:00
matsutsuka
f553789fea
Made unnecessary symbols static.
2007-09-29 03:57:39 +00:00
matsutsuka
1e6ac84151
Customized crt0 has been introduced to fix some SDCC glitches.
2007-09-29 03:57:07 +00:00
matsutsuka
8d5e863b9a
File names are changed.
2007-09-19 12:48:26 +00:00
matsutsuka
c99b7dc827
status has been added for polling function.
2007-09-19 12:47:19 +00:00
matsutsuka
eb39a24ad8
Char bug seems to be fixed in the newer version of sdcc.
2007-09-19 12:44:01 +00:00
matsutsuka
7b402d38f8
The suffix for preprocessed assembler file has been changed from ".hS" to ".cS"
2007-09-19 12:41:33 +00:00
nvt-se
1d4db3e2cc
The function was missing the case when the stack was used completely,
...
and didn't return a value then.
2007-09-14 20:21:01 +00:00
matsutsuka
c258a2e83a
library extension has been modified form .o to .a
2007-09-11 12:11:38 +00:00
matsutsuka
cce43c2efc
Baud-rate has been added to the architecture-depend initialization.
...
Enabled packaged buffer reading.
2007-09-11 12:03:20 +00:00
matsutsuka
cd971ff8cc
sdcc-custom-rule has been added to makefile.z80
2007-09-10 15:09:28 +00:00
matsutsuka
fe980b4445
Comment and include files are slightly changed for readablility.
2007-09-09 13:41:50 +00:00
matsutsuka
259c5a00b9
Some gliches and filenames are changed regarding RS-232C driver.
2007-09-09 13:41:15 +00:00
matsutsuka
c58e4f94b8
Screen-bsae logging implementation.
2007-09-09 12:23:03 +00:00
matsutsuka
17da4a73be
Not signal but polling-based rs-232c process.
2007-09-09 12:22:34 +00:00
matsutsuka
91a57c89ba
VRAM based default implementation of libconio_arch.
2007-09-09 12:21:54 +00:00
matsutsuka
f9a01d6282
strcasecmp is moved to lib directory
2007-09-09 12:20:59 +00:00
matsutsuka
88c30a63a5
Directory of some sources files has been moved.
2007-09-09 12:20:12 +00:00
matsutsuka
efbe8ab536
renamed contiki-sdcc-conf.h to z80def.h in order to follow the convention of cpu-dependent configuration header file name.
2007-09-07 04:59:06 +00:00
nvt-se
b4f3ab5af7
Added support for configurable callbacks of uart1 input.
2007-09-06 11:45:08 +00:00
matsutsuka
d44a1e97e6
int32_t typedef is added to make compatibility with rand.c
2007-09-06 01:41:05 +00:00
matsutsuka
582a7476d4
*-dsc.c files have been changed to remove forward reference for struct_icon variable, bacause it is strange that this variable is used wholly inside the C source file and declared extern for the forward reference.
2007-09-06 01:36:10 +00:00
oliverschmidt
89e81f9eed
Renamed 6502-conf.h into 6502def.h to be in line with similiar files created in the meanwhile and added C99 names.
2007-09-05 10:59:10 +00:00
joxe
aaae9f4cf8
removed redundant code - configuration of basic clock subsystem in clock and rtimer_arch
2007-09-03 19:22:37 +00:00
matsutsuka
4766593ff7
Add assembler checksum calculation support for z80 port.
2007-09-01 11:14:50 +00:00
ksb
af9bf1810c
The file is generated from string-descriptors.xml, but since it probably won't change and not everyone has xsltproc I'm putting it in CVS.
2007-09-01 10:12:54 +00:00
ksb
9d5a2aed80
Added USB (specifically CDC-ACM) support
2007-09-01 10:00:35 +00:00
matsutsuka
3af69d229a
Added some comments.
2007-09-01 01:09:25 +00:00
matsutsuka
cc2b6e58d7
Followed a coding convention of contiki, in which cast operation should not be followed by a space char.
2007-09-01 01:08:07 +00:00
oliverschmidt
34af8fbc1a
Fixed recent change.
2007-08-30 20:47:14 +00:00
matsutsuka
9d4fc0a1a8
Support for z80(sdcc) port.
...
In order to support, some core modules are modified as follows:
core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.
core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).
core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.
core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
of sdcc bug for an increment.
core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.
core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
CC_REGISTER_ARG is used instead.
core/net/uip-over-mesh.c
- An extra semicolon is removed.
apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
to prevent a compile error.
core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.
core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.
apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.
core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
CC_REGISTER_ARG is used instead.
apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
CC_REGISTER_ARG is used instead.
apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
of sdcc bug for an increment.
core/loader/elfloader.c
- A cast is added to prevent a compile error.
core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.
core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.
core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.
cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
ksb
792eae91c6
rtimer implementation (not well tested)
...
sprintf that use strformat, so there's no need to pull in the newlib
implementation.
Build system improvements.
2007-08-21 09:03:55 +00:00
bg-
0fedf8845d
* Standard defines for AVR.
2007-08-16 13:20:09 +00:00
bg-
dcafdfe51a
* Standard defines for MSP430.
2007-08-16 13:09:06 +00:00
oliverschmidt
63a6493e5c
Made tapdev and wpcap driver similiar making up a "driver template".
2007-08-10 14:59:59 +00:00
oliverschmidt
1c77f6f1d5
- The cc65 assembler variable 'ptr1' (a general zero page pointer) is actually part of the cc65 zero page area so it's a bad idea (tm) to use it in swapping that very area.
...
- The cc65 assembler variable 'sp' (the pointer to the C stack) is actually part of the cc65 zero page area so there's no need to manage it explicitly. Furthermore it is known to reside at the very start of the area so it can be initialized there for new threads.
2007-08-10 10:45:35 +00:00
oliverschmidt
9399718ede
Cosmetic change...
2007-05-29 22:25:49 +00:00
oliverschmidt
b23f4fc89d
Added a Contiki clock_time() implementation based on the cc65 clock() implementation.
2007-05-29 21:56:21 +00:00
oliverschmidt
c874d56f32
Clock implementations are typically not located in a lib subdirectory.
2007-05-27 21:29:18 +00:00
oliverschmidt
75f04995a9
Changed packet drivers from services to plain processes.
...
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.
Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-26 23:05:36 +00:00
oliverschmidt
6ab3a6d1e3
Fixed copy&paste bug.
2007-05-26 22:51:38 +00:00