awk: fix printf("%c", 0) and the utf() function. [rsc] --rw-rw-r-- M 357477 glenda sys 12346 Mar 10 10:41 sys/src/cmd/awk/lex.c /n/sourcesdump/2006/0310/plan9/sys/src/cmd/awk/lex.c:86,93 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/awk/lex.c:86,93 { "system", FSYSTEM, BLTIN }, { "tolower", FTOLOWER, BLTIN }, { "toupper", FTOUPPER, BLTIN }, - { "while", WHILE, WHILE }, { "utf", FUTF, BLTIN }, + { "while", WHILE, WHILE }, }; #define DEBUG [rsc] --rw-rw-r-- M 357477 glenda sys 42795 Mar 10 11:44 sys/src/cmd/awk/run.c /n/sourcesdump/2006/0310/plan9/sys/src/cmd/awk/run.c:903,910 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/awk/run.c:903,912 if (isnum(x)) { if (getfval(x)) sprintf(p, fmt, (int) getfval(x)); - else + else{ *p++ = '\0'; + *p = '\0'; + } } else sprintf(p, fmt, getsval(x)[0]); break; rio: keep bottom'ed windows in order [rsc] --rw-rw-r-- M 357477 glenda sys 6169 Mar 10 13:32 sys/src/cmd/rio/data.c [rsc] --rw-rw-r-- M 357477 glenda sys 22807 Mar 10 13:32 sys/src/cmd/rio/rio.c /n/sourcesdump/2006/0310/plan9/sys/src/cmd/rio/rio.c:517,523 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/rio/rio.c:517,523 scrolling = mouse->buttons; else scrolling = mouse->buttons && ptinrect(xy, winput->scrollr); - /* topped will be zero if window has been bottomed */ + /* topped will be zero or less if window has been bottomed */ if(sending == FALSE && !scrolling && winborder(winput, mouse->xy) && winput->topped>0){ moving = TRUE; }else if(inside && (scrolling || winput->mouseopen || (mouse->buttons&1))) /n/sourcesdump/2006/0310/plan9/sys/src/cmd/rio/rio.c:566,572 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/rio/rio.c:566,572 cornercursor(w, mouse->xy, 0); /* we're not sending the event, but if button is down maybe we should */ if(mouse->buttons){ - /* w->topped will be zero if window has been bottomed */ + /* w->topped will be zero or less if window has been bottomed */ if(w==nil || (w==winput && w->topped>0)){ if(mouse->buttons & 1){ ; [rsc] --rw-rw-r-- M 357477 glenda sys 33362 Mar 10 13:32 sys/src/cmd/rio/wind.c /n/sourcesdump/2006/0310/plan9/sys/src/cmd/rio/wind.c:1268,1274 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/rio/wind.c:1268,1274 if(w!=nil && w->i!=nil && !w->deleted){ bottomwindow(w->i); flushimage(display, 1); - w->topped = 0; + w->topped = - ++topped; } } aux/ga: add CL-GD5480 [jmk] --rw-rw-r-- M 357477 glenda sys 28743 Mar 10 14:10 lib/vgadb /n/sourcesdump/2006/0310/plan9/lib/vgadb:192,197 - /n/sourcesdump/2006/0311/plan9/lib/vgadb:192,198 0xE0039="CL-GD540x/542x VGA BIOS" # NCR 3230 0xC0039="CL-GD543x" 0xC0039="CL-GD5440" + 0xC0039="CL-GD5480" # Intel L440GX+ 0xC003B="SpeedStar PRO" # Diamond SpeedStar Pro 0xC0038="SpeedStar 64" # Diamond SpeedStar 64 0xC00F4="KELVIN 64" # Orchid Kelvin 64 [jmk] --rw-rw-r-- M 357477 glenda sys 4810 Mar 10 14:10 sys/src/9/pc/vgaclgd542x.c /n/sourcesdump/2006/0310/plan9/sys/src/9/pc/vgaclgd542x.c:119,124 - /n/sourcesdump/2006/0311/plan9/sys/src/9/pc/vgaclgd542x.c:119,136 mem++; break; + case 0xBC: /* CL-GD5480 */ + mem = 2; /* 1024 = 256<<2 */ + x = vgaxi(Seqx, 0x0F); + if((x & 0x18) == 0x18){ + mem <<= 1; /* 2048 = 256<<3 */ + if(x & 0x80) + mem <<= 2; /* 2048 = 256<<4 */ + } + if(vgaxi(Seqx, 0x17) & 0x80) + mem <<= 1; + break; + default: /* uh, ah dunno */ break; } [jmk] --rw-rw-r-- M 357477 glenda sys 7249 Mar 10 14:11 sys/src/cmd/aux/vga/clgd542x.c /n/sourcesdump/2006/0310/plan9/sys/src/cmd/aux/vga/clgd542x.c:29,34 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/aux/vga/clgd542x.c:29,35 { 0xAC, 135000000, }, /* CL-GD5436 */ { 0xB8, 135000000, }, /* CL-GD5446 */ + { 0xBC, 135000000, }, /* CL-GD5480 */ { 0x30, 80000000, }, /* CL-GD7543 */ /n/sourcesdump/2006/0310/plan9/sys/src/cmd/aux/vga/clgd542x.c:127,132 - /n/sourcesdump/2006/0311/plan9/sys/src/cmd/aux/vga/clgd542x.c:128,144 */ if(((vga->sequencer[0x17]>>3) & 0x07) == 0x04) ctlr->flag |= Hlinear; + break; + case 0xBC: /* CL-GD5480 */ + i = 2; /* 1024 = 256<<2 */ + if((vga->sequencer[0x0F] & 0x18) == 0x18){ + i <<= 1; /* 2048 = 256<<3 */ + if(vga->sequencer[0x0F] & 0x80) + i <<= 2; /* 2048 = 256<<4 */ + } + if(vga->sequencer[0x17] & 0x80) + i <<= 1; + ctlr->flag |= Hlinear; break; default: /* uh, ah dunno */