< previous page page_165 next page >

Page 165

version could be implemented by interlacing the structures of a switch and a loop:
register n = (count + 7) / 8
switch (count % 8)
/* count > 0 assumed */
{
case 0
do { *to = *from++;
case 7
{ *to = *from++;
case 6
{ *to = *from++;
case 5
{ *to = *from++;
case 4
{ *to = *from++;
case 3
{ *to = *from++;
case 2
{ *to = *from++;
case 1
{ *to = *from++;
} while (--n > 0)

Shocking though it appears to all who encounter it for the first time, the device is actually perfectly valid, legal C. C's default fall through in case statements has long been its most controversial single feature; Duff observed that "This code forms some sort of argument in that debate, but I'm not sure whether it's for or against."
[For maximal obscurity, the outermost pair of braces above could be actually be removed GLS]
dumb terminal n. A terminal that is one step above a glass tty, having a minimally addressable cursor but no on-screen editing or other features normally supported by a smart terminal. Once upon a time, when glass ttys were common and addressable cursors were something special, what is now called a dumb terminal could pass for a smart terminal.
dumbass attack /duhm'as U0259.gif-tak'/ n. [Purdue] Notional cause of a novice's mistake made by the experienced, especially one made while running as root under Unix, e.g., typing rm -r * or mkfs on a mounted file system. Compare adger.
dumbed down adj. Simplified, with a strong connotation of over simplified. Often, a marketroid will insist that the interfaces and documentation of software be dumbed down after the designer has burned untold gallons of midnight oil making it smart. This creates friction. See user-friendly.
dump n. 1. An undigested and voluminous mass of information about a problem or the state of a system, especially one routed to the slowest avail-

 
< previous page page_165 next page >

If you like this book, buy it!