Browse Source

Plan 9 from Bell Labs 2006-03-30

David du Colombier 14 years ago
parent
commit
b075dcb553

+ 57 - 56
dist/replica/_plan9.db

@@ -19,7 +19,7 @@
 386/bin/8l - 775 sys sys 1140553397 115719
 386/bin/9660srv - 775 sys sys 1135570766 104023
 386/bin/aan - 775 sys sys 1138500151 131061
-386/bin/acid - 775 sys sys 1143230648 400526
+386/bin/acid - 775 sys sys 1143691088 400530
 386/bin/acme - 775 sys sys 1142871027 429492
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1136656314 132873
@@ -36,16 +36,16 @@
 386/bin/ape/sh - 775 sys sys 1136656327 477237
 386/bin/ape/stty - 775 sys sys 1130384232 41057
 386/bin/ape/tar - 775 sys sys 1135570769 61941
-386/bin/ape/uname - 775 sys sys 1136656327 132702
-386/bin/aquarela - 775 sys sys 1138500199 332204
+386/bin/ape/uname - 775 sys sys 1143691088 134336
+386/bin/aquarela - 775 sys sys 1143691089 332215
 386/bin/ar - 775 sys sys 1135570769 111942
 386/bin/archfs - 775 sys sys 1135570769 146849
 386/bin/ascii - 775 sys sys 1135570770 64641
 386/bin/astro - 775 sys sys 1130384233 138837
 386/bin/auth - 20000000775 sys sys 1016920815 0
 386/bin/auth/aescbc - 775 sys sys 1140717381 140495
-386/bin/auth/asn12rsa - 775 sys sys 1135570770 120433
-386/bin/auth/authsrv - 775 sys sys 1140717382 165510
+386/bin/auth/asn12rsa - 775 sys sys 1143691090 120459
+386/bin/auth/authsrv - 775 sys sys 1143663891 165509
 386/bin/auth/changeuser - 775 sys sys 1135570771 97011
 386/bin/auth/convkeys - 775 sys sys 1140285589 87503
 386/bin/auth/convkeys2 - 775 sys sys 1140285589 87562
@@ -55,7 +55,7 @@
 386/bin/auth/enable - 775 sys sys 1020319057 134
 386/bin/auth/factotum - 775 sys sys 1142740571 321467
 386/bin/auth/fgui - 775 sys sys 1142871027 218654
-386/bin/auth/guard.srv - 775 sys sys 1135570774 142833
+386/bin/auth/guard.srv - 775 sys sys 1143663891 142851
 386/bin/auth/iam - 775 sys sys 1085076981 50791
 386/bin/auth/keyfs - 775 sys sys 1140285591 115638
 386/bin/auth/login - 775 sys sys 1140285592 104525
@@ -64,15 +64,15 @@
 386/bin/auth/pemdecode - 775 sys sys 1135570775 61451
 386/bin/auth/pemencode - 775 sys sys 1135570775 59847
 386/bin/auth/printnetkey - 775 sys sys 1140285592 40436
-386/bin/auth/rsa2csr - 775 sys sys 1140285592 180611
+386/bin/auth/rsa2csr - 775 sys sys 1143691090 180614
 386/bin/auth/rsa2pub - 775 sys sys 1140285593 143643
 386/bin/auth/rsa2ssh - 775 sys sys 1140285593 138960
-386/bin/auth/rsa2x509 - 775 sys sys 1140285594 184372
+386/bin/auth/rsa2x509 - 775 sys sys 1143691091 184375
 386/bin/auth/rsafill - 775 sys sys 1140285594 143711
 386/bin/auth/rsagen - 775 sys sys 1135570778 153242
 386/bin/auth/secretpem - 775 sys sys 1045537944 118526
 386/bin/auth/secstore - 775 sys sys 1140717384 195600
-386/bin/auth/secstored - 775 sys sys 1140717384 197027
+386/bin/auth/secstored - 775 sys sys 1143663892 197026
 386/bin/auth/secuser - 775 sys sys 1140717385 152955
 386/bin/auth/status - 775 sys sys 1020319060 738
 386/bin/auth/uniq - 775 sys sys 1140285596 63092
@@ -83,7 +83,7 @@
 386/bin/aux/LOCK - 775 sys sys 1135570780 59902
 386/bin/aux/X509gen - 775 sys sys 1048341826 129186
 386/bin/aux/accupoint - 775 sys sys 1130384245 40077
-386/bin/aux/acidleak - 775 sys sys 1135570780 69430
+386/bin/aux/acidleak - 775 sys sys 1143691091 69453
 386/bin/aux/antiword - 775 sys sys 1070288096 511478
 386/bin/aux/apm - 775 sys sys 1138500391 180310
 386/bin/aux/astarld - 775 sys sys 1135570781 64675
@@ -94,7 +94,7 @@
 386/bin/aux/cropmarks - 775 sys sys 1020319062 1808
 386/bin/aux/data2s - 775 sys sys 1135570782 60518
 386/bin/aux/depend - 775 sys sys 1138500404 145864
-386/bin/aux/disksim - 775 sys sys 1140976599 150655
+386/bin/aux/disksim - 775 sys sys 1143691091 150653
 386/bin/aux/download - 775 sys sys 1087442506 176016
 386/bin/aux/faxreceive - 775 sys sys 1135570783 83923
 386/bin/aux/faxsend - 775 sys sys 1135570783 89435
@@ -118,7 +118,7 @@
 386/bin/aux/mnihongo - 775 sys sys 1142871028 139676
 386/bin/aux/mouse - 775 sys sys 1130384253 44044
 386/bin/aux/ms2 - 775 sys sys 1138500429 87049
-386/bin/aux/msexceltables - 775 sys sys 1138075017 81356
+386/bin/aux/msexceltables - 775 sys sys 1143663893 81376
 386/bin/aux/mswordstrings - 775 sys sys 1135570787 65298
 386/bin/aux/na - 775 sys sys 1135570787 154182
 386/bin/aux/nfsmount - 775 sys sys 1138500443 234446
@@ -174,11 +174,11 @@
 386/bin/calendar - 775 sys sys 1135570797 80216
 386/bin/cat - 775 sys sys 1130384267 37465
 386/bin/cb - 775 sys sys 1135570797 77379
-386/bin/cdfs - 775 sys sys 1138982896 167246
+386/bin/cdfs - 775 sys sys 1143691092 167256
 386/bin/cfs - 775 sys sys 1135570797 128025
 386/bin/chgrp - 775 sys sys 1135570798 59279
 386/bin/chmod - 775 sys sys 1135570798 62275
-386/bin/cifscmd - 775 sys sys 1138500512 343031
+386/bin/cifscmd - 775 sys sys 1143691093 343042
 386/bin/cleanname - 775 sys sys 1135570798 58298
 386/bin/clock - 775 sys sys 1142871032 158330
 386/bin/cmp - 775 sys sys 1138500523 40602
@@ -190,7 +190,7 @@
 386/bin/cpu - 775 sys sys 1135570800 139202
 386/bin/crop - 775 sys sys 1135570800 116024
 386/bin/date - 775 sys sys 1130384272 43279
-386/bin/db - 775 sys sys 1138500534 345355
+386/bin/db - 775 sys sys 1143691094 345359
 386/bin/dc - 775 sys sys 1135570801 99015
 386/bin/dd - 775 sys sys 1130384273 45416
 386/bin/deroff - 775 sys sys 1135570802 74231
@@ -223,7 +223,7 @@
 386/bin/eqn - 775 sys sys 1141927235 244405
 386/bin/execnet - 775 sys sys 1138500564 178046
 386/bin/exportfs - 775 sys sys 1135570807 162237
-386/bin/ext2srv - 775 sys sys 1135570808 179710
+386/bin/ext2srv - 775 sys sys 1143691095 179732
 386/bin/faces - 775 sys sys 1142871033 194193
 386/bin/factor - 775 sys sys 1135570809 61456
 386/bin/fcp - 775 sys sys 1136656336 82190
@@ -246,7 +246,7 @@
 386/bin/fs/v10fs - 775 sys sys 1134389867 94594
 386/bin/fs/v6fs - 775 sys sys 1134389867 94512
 386/bin/fs/zipfs - 775 sys sys 1134389867 109110
-386/bin/ftpfs - 775 sys sys 1140717386 272840
+386/bin/ftpfs - 775 sys sys 1143691096 272843
 386/bin/games - 20000000775 sys sys 1096298711 0
 386/bin/games/4s - 775 sys sys 1132506854 178226
 386/bin/games/5s - 775 sys sys 1132506855 180514
@@ -269,7 +269,7 @@
 386/bin/gview - 775 sys sys 1142871034 238631
 386/bin/gzip - 775 sys sys 1135570815 84749
 386/bin/hayes - 775 sys sys 1135570815 64550
-386/bin/hget - 775 sys sys 1140717387 233502
+386/bin/hget - 775 sys sys 1143691096 233505
 386/bin/history - 775 sys sys 1136397209 75433
 386/bin/hoc - 775 sys sys 1135570817 99860
 386/bin/html2ms - 775 sys sys 1135570817 66078
@@ -282,8 +282,8 @@
 386/bin/iostats - 775 sys sys 1140112236 100160
 386/bin/ip - 20000000775 sys sys 1016920851 0
 386/bin/ip/dhcpclient - 775 sys sys 1135570819 94132
-386/bin/ip/dhcpd - 775 sys sys 1135570819 149217
-386/bin/ip/dhcpleases - 775 sys sys 1135570820 86209
+386/bin/ip/dhcpd - 775 sys sys 1143691097 149215
+386/bin/ip/dhcpleases - 775 sys sys 1143691097 86211
 386/bin/ip/ftpd - 775 sys sys 1135570820 170401
 386/bin/ip/gizzard - 775 sys sys 1081480408 101521
 386/bin/ip/gping - 775 sys sys 1142871035 183143
@@ -297,7 +297,7 @@
 386/bin/ip/httpd/save - 775 sys sys 1143482342 133176
 386/bin/ip/httpd/webls - 775 sys sys 1142871037 133277
 386/bin/ip/httpd/wikipost - 775 sys sys 1142871038 114645
-386/bin/ip/httpfile - 775 sys sys 1140717389 283942
+386/bin/ip/httpfile - 775 sys sys 1143691098 283945
 386/bin/ip/imap4d - 775 sys sys 1140717389 237709
 386/bin/ip/ipconfig - 775 sys sys 1135570825 137844
 386/bin/ip/ping - 775 sys sys 1139680592 76498
@@ -425,14 +425,14 @@
 386/bin/telnet - 775 sys sys 1135570847 80400
 386/bin/test - 775 sys sys 1135570847 69841
 386/bin/time - 775 sys sys 1135570848 61372
-386/bin/tlsclient - 775 sys sys 1140717390 198501
-386/bin/tlssrv - 775 sys sys 1140717391 198761
+386/bin/tlsclient - 775 sys sys 1143691099 198504
+386/bin/tlssrv - 775 sys sys 1143691099 198764
 386/bin/togif - 775 sys sys 1142871042 189909
 386/bin/toico - 775 sys sys 1142871042 123688
 386/bin/topng - 775 sys sys 1135570850 138333
 386/bin/toppm - 775 sys sys 1142871042 165305
 386/bin/touch - 775 sys sys 1139853472 63826
-386/bin/tprof - 775 sys sys 1138500753 297118
+386/bin/tprof - 775 sys sys 1143691100 297122
 386/bin/tr - 775 sys sys 1135570851 61845
 386/bin/trace - 775 sys sys 1142871043 181505
 386/bin/troff - 775 sys sys 1134151360 357941
@@ -530,7 +530,7 @@
 386/lib - 20000000775 sys sys 1016826328 0
 386/lib/ape - 20000000775 sys sys 944969312 0
 386/lib/ape/lib9.a - 664 sys sys 1135531447 6906
-386/lib/ape/libap.a - 664 sys sys 1143309593 816080
+386/lib/ape/libap.a - 664 sys sys 1143691102 816746
 386/lib/ape/libbsd.a - 664 sys sys 1143309593 183044
 386/lib/ape/libdraw.a - 664 sys sys 1142871046 580970
 386/lib/ape/libfmt.a - 664 sys sys 1143309594 150938
@@ -540,7 +540,7 @@
 386/lib/ape/libutf.a - 664 sys sys 1137485201 84674
 386/lib/ape/libv.a - 664 sys sys 1137485201 19668
 386/lib/lib9p.a - 664 sys sys 1143309595 91144
-386/lib/libString.a - 664 sys sys 1143137027 22184
+386/lib/libString.a - 664 sys sys 1143691102 22166
 386/lib/libauth.a - 664 sys sys 1143309595 58624
 386/lib/libauthsrv.a - 664 sys sys 1143309595 34196
 386/lib/libbin.a - 664 sys sys 1143137027 2534
@@ -557,7 +557,7 @@
 386/lib/libhttpd.a - 664 sys sys 1143309598 99554
 386/lib/libip.a - 664 sys sys 1143309598 35590
 386/lib/libl.a - 664 sys sys 1143137034 5384
-386/lib/libmach.a - 664 sys sys 1143309600 782134
+386/lib/libmach.a - 664 sys sys 1143691103 782134
 386/lib/libmemdraw.a - 664 sys sys 1143137037 284158
 386/lib/libmemlayer.a - 664 sys sys 1143137037 47360
 386/lib/libmp.a - 664 sys sys 1143137037 80024
@@ -565,7 +565,7 @@
 386/lib/libplumb.a - 664 sys sys 1143137038 19408
 386/lib/libregexp.a - 664 sys sys 1143309600 37450
 386/lib/libscribble.a - 664 sys sys 1143309600 107266
-386/lib/libsec.a - 664 sys sys 1143309601 646928
+386/lib/libsec.a - 664 sys sys 1143691105 646602
 386/lib/libstdio.a - 664 sys sys 1143309602 126110
 386/lib/libsunrpc.a - 664 sys sys 1143309603 355930
 386/lib/libthread.a - 664 sys sys 1143309603 71946
@@ -5749,7 +5749,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000666 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000666 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1143487643 258076
+sys/games/lib/fortunes - 664 sys sys 1143648119 258201
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -8045,7 +8045,7 @@ sys/src/9/pc/vgahiqvideo.c - 664 sys sys 1131290601 4098
 sys/src/9/pc/vgai81x.c - 664 sys sys 1135487942 4421
 sys/src/9/pc/vgamach64xx.c - 664 sys sys 1131290601 28257
 sys/src/9/pc/vgamga2164w.c - 664 sys sys 1132331257 4769
-sys/src/9/pc/vgamga4xx.c - 664 sys sys 1141324233 10211
+sys/src/9/pc/vgamga4xx.c - 664 sys sys 1143648125 9489
 sys/src/9/pc/vganeomagic.c - 664 sys sys 1131422294 10255
 sys/src/9/pc/vganvidia.c - 664 sys sys 1137689150 12395
 sys/src/9/pc/vgargb524.c - 664 sys sys 1131290602 4251
@@ -8072,7 +8072,7 @@ sys/src/9/port/dev.c - 664 sys sys 1131289870 8219
 sys/src/9/port/devaudio.c - 664 sys sys 1142086793 21147
 sys/src/9/port/devbridge.c - 664 sys sys 1055688301 24308
 sys/src/9/port/devcap.c - 664 sys sys 1048644215 4113
-sys/src/9/port/devcons.c - 664 sys sys 1142177608 22993
+sys/src/9/port/devcons.c - 664 sys sys 1143648105 23071
 sys/src/9/port/devdraw.c - 664 sys sys 1131289870 43537
 sys/src/9/port/devdup.c - 664 sys sys 1014931172 2332
 sys/src/9/port/devenv.c - 664 sys sys 1048644225 6992
@@ -8087,7 +8087,7 @@ sys/src/9/port/devpipe.c - 664 sys sys 1077055016 5825
 sys/src/9/port/devpnp.c - 664 sys sys 1088560907 13624
 sys/src/9/port/devproc.c - 664 sys sys 1142086847 28500
 sys/src/9/port/devroot.c - 664 sys sys 1067722764 4254
-sys/src/9/port/devsd.c - 664 sys sys 1138458233 30866
+sys/src/9/port/devsd.c - 664 sys sys 1143648157 30871
 sys/src/9/port/devsdp.c - 664 sys sys 1057323393 44800
 sys/src/9/port/devsegment.c - 664 sys sys 1131289891 9610
 sys/src/9/port/devsrv.c - 664 sys sys 1107232208 5418
@@ -8689,7 +8689,7 @@ sys/src/ape/lib/ap/plan9/times.c - 664 sys sys 1014921984 730
 sys/src/ape/lib/ap/plan9/tmpfile.c - 664 sys sys 1014921985 744
 sys/src/ape/lib/ap/plan9/ttyname.c - 664 sys sys 1014921985 133
 sys/src/ape/lib/ap/plan9/umask.c - 664 sys sys 1014921985 182
-sys/src/ape/lib/ap/plan9/uname.c - 664 sys sys 1014921985 408
+sys/src/ape/lib/ap/plan9/uname.c - 664 sys sys 1143672359 533
 sys/src/ape/lib/ap/plan9/unlink.c - 664 sys sys 1038237528 1505
 sys/src/ape/lib/ap/plan9/utime.c - 664 sys sys 1046643007 469
 sys/src/ape/lib/ap/plan9/wait.c - 664 sys sys 1093980308 2378
@@ -9355,7 +9355,7 @@ sys/src/cmd/aquarela/netbios.h - 664 sys sys 1135892110 5967
 sys/src/cmd/aquarela/smb.h - 664 sys sys 1135892110 9492
 sys/src/cmd/aquarela/smballoc.c - 664 sys sys 1135892110 508
 sys/src/cmd/aquarela/smbbrowse.c - 664 sys sys 1135892110 1473
-sys/src/cmd/aquarela/smbbuffer.c - 664 sys sys 1135892110 9717
+sys/src/cmd/aquarela/smbbuffer.c - 664 sys sys 1143670679 9728
 sys/src/cmd/aquarela/smbclientopen.c - 664 sys sys 1135892110 1428
 sys/src/cmd/aquarela/smbcomclose.c - 664 sys sys 1135892110 578
 sys/src/cmd/aquarela/smbcomcreatedir.c - 664 sys sys 1135892110 692
@@ -9528,7 +9528,7 @@ sys/src/cmd/auth/secstore/secstore.h - 664 sys sys 1106575526 859
 sys/src/cmd/auth/secstore/secstored.c - 664 sys sys 1140272944 8087
 sys/src/cmd/auth/secstore/secuser.c - 664 sys sys 1143465899 5136
 sys/src/cmd/auth/secstore/util.c - 664 sys sys 1140272945 1770
-sys/src/cmd/auth/secureidcheck.c - 664 sys sys 1078840013 9007
+sys/src/cmd/auth/secureidcheck.c - 664 sys sys 1143648183 9006
 sys/src/cmd/auth/status - 775 sys sys 1015008430 738
 sys/src/cmd/auth/uniq.c - 664 sys sys 1140272945 1440
 sys/src/cmd/auth/userpasswd.c - 664 sys sys 1015008432 591
@@ -9537,7 +9537,7 @@ sys/src/cmd/auth/wrkey.c - 664 sys sys 1019058717 176
 sys/src/cmd/aux - 20000000775 sys sys 1015008975 0
 sys/src/cmd/aux/9pcon.c - 664 sys sys 1127394247 6284
 sys/src/cmd/aux/accupoint.c - 664 sys sys 985124882 2166
-sys/src/cmd/aux/acidleak.c - 664 sys sys 1126879783 5952
+sys/src/cmd/aux/acidleak.c - 664 sys sys 1143670676 5965
 sys/src/cmd/aux/antiword - 20000000775 sys sys 1069793877 0
 sys/src/cmd/aux/antiword/antiword.h - 664 sys sys 1137261472 27773
 sys/src/cmd/aux/antiword/asc85enc.c - 664 sys sys 1137261472 3910
@@ -9620,7 +9620,7 @@ sys/src/cmd/aux/consolefs.c - 664 sys sys 1134305455 20200
 sys/src/cmd/aux/conswdir.c - 664 sys sys 1045504955 2077
 sys/src/cmd/aux/data2s.c - 664 sys sys 1032059295 796
 sys/src/cmd/aux/depend.c - 664 sys sys 1134305455 25880
-sys/src/cmd/aux/disksim.c - 664 sys sys 1140964826 11178
+sys/src/cmd/aux/disksim.c - 664 sys sys 1143670638 11172
 sys/src/cmd/aux/flashfs - 20000000775 sys sys 1015009082 0
 sys/src/cmd/aux/flashfs/aux.c - 664 sys sys 1015009080 699
 sys/src/cmd/aux/flashfs/aux.h - 664 sys sys 1015009080 111
@@ -9659,7 +9659,7 @@ sys/src/cmd/aux/mnihongo/mnihongo.c - 664 sys sys 946759402 6406
 sys/src/cmd/aux/mnihongo/tmac.nihongo - 664 sys sys 944960789 22
 sys/src/cmd/aux/mouse.c - 664 sys sys 1063855425 7049
 sys/src/cmd/aux/ms2.c - 664 sys sys 1124305056 3153
-sys/src/cmd/aux/msexceltables.c - 664 sys sys 1138065340 14094
+sys/src/cmd/aux/msexceltables.c - 664 sys sys 1143648177 14092
 sys/src/cmd/aux/mswordstrings.c - 664 sys sys 952201344 5767
 sys/src/cmd/aux/na - 20000000775 sys sys 955036627 0
 sys/src/cmd/aux/na/mkfile - 664 sys sys 955036627 121
@@ -9850,7 +9850,7 @@ sys/src/cmd/cdfs/dat.h - 664 sys sys 1014925665 2334
 sys/src/cmd/cdfs/fns.h - 664 sys sys 969542122 297
 sys/src/cmd/cdfs/main.c - 664 sys sys 1017679316 11040
 sys/src/cmd/cdfs/mkfile - 664 sys sys 959922196 182
-sys/src/cmd/cdfs/mmc.c - 664 sys sys 1014925666 17171
+sys/src/cmd/cdfs/mmc.c - 664 sys sys 1143670611 17182
 sys/src/cmd/cfs - 20000000775 sys sys 1015009266 0
 sys/src/cmd/cfs/bcache.c - 664 sys sys 1014925219 2956
 sys/src/cmd/cfs/bcache.h - 664 sys sys 1014925220 797
@@ -10105,7 +10105,7 @@ sys/src/cmd/ext2srv/ext2fs.c - 664 sys sys 1055687747 6063
 sys/src/cmd/ext2srv/ext2srv.man - 664 sys sys 1055687747 2409
 sys/src/cmd/ext2srv/ext2subs.c - 664 sys sys 1134305454 38683
 sys/src/cmd/ext2srv/fns.h - 664 sys sys 1055687748 1803
-sys/src/cmd/ext2srv/iobuf.c - 664 sys sys 1055687748 2854
+sys/src/cmd/ext2srv/iobuf.c - 664 sys sys 1143670611 2864
 sys/src/cmd/ext2srv/mkfile - 664 sys sys 1055687748 194
 sys/src/cmd/ext2srv/readme - 664 sys sys 1055687748 1700
 sys/src/cmd/ext2srv/version - 664 sys sys 1055687763 870
@@ -12292,7 +12292,7 @@ sys/src/cmd/ip/dhcp.h - 664 sys sys 1051206271 3368
 sys/src/cmd/ip/dhcpclient.c - 664 sys sys 1050714660 11978
 sys/src/cmd/ip/dhcpd - 20000000775 sys sys 988249979 0
 sys/src/cmd/ip/dhcpd/dat.h - 664 sys sys 1084471353 2522
-sys/src/cmd/ip/dhcpd/db.c - 664 sys sys 1032655001 7484
+sys/src/cmd/ip/dhcpd/db.c - 664 sys sys 1143670612 7466
 sys/src/cmd/ip/dhcpd/dhcpd.c - 664 sys sys 1084471366 32795
 sys/src/cmd/ip/dhcpd/dhcpleases.c - 664 sys sys 1032655001 779
 sys/src/cmd/ip/dhcpd/mkfile - 664 sys sys 1063897571 433
@@ -13351,11 +13351,11 @@ sys/src/cmd/tcs - 20000000775 sys sys 954034511 0
 sys/src/cmd/tcs/8859.h - 664 sys sys 1138382778 16466
 sys/src/cmd/tcs/big5.c - 664 sys sys 944961288 99606
 sys/src/cmd/tcs/big5.h - 664 sys sys 944961287 112
-sys/src/cmd/tcs/conv.h - 664 sys sys 1135487940 941
-sys/src/cmd/tcs/conv_big5.c - 664 sys sys 944961288 2821
-sys/src/cmd/tcs/conv_gb.c - 664 sys sys 944961287 2210
-sys/src/cmd/tcs/conv_jis.c - 664 sys sys 944961289 10998
-sys/src/cmd/tcs/conv_ksc.c - 664 sys sys 944961288 2716
+sys/src/cmd/tcs/conv.h - 664 sys sys 1143673019 1048
+sys/src/cmd/tcs/conv_big5.c - 664 sys sys 1143673020 2839
+sys/src/cmd/tcs/conv_gb.c - 664 sys sys 1143673020 2228
+sys/src/cmd/tcs/conv_jis.c - 664 sys sys 1143673020 11016
+sys/src/cmd/tcs/conv_ksc.c - 664 sys sys 1143673020 2734
 sys/src/cmd/tcs/cyrillic.h - 664 sys sys 1138382779 7921
 sys/src/cmd/tcs/desc.latin - 664 sys sys 944961287 20189
 sys/src/cmd/tcs/ex2.utf - 664 sys sys 944961288 14431
@@ -13380,7 +13380,7 @@ sys/src/cmd/tcs/font/qbits.c - 664 sys sys 944961251 2037
 sys/src/cmd/tcs/gb.c - 664 sys sys 944961288 62707
 sys/src/cmd/tcs/gb.h - 664 sys sys 944961287 183
 sys/src/cmd/tcs/hdr.h - 664 sys sys 944961287 1213
-sys/src/cmd/tcs/html.c - 664 sys sys 1143220982 7318
+sys/src/cmd/tcs/html.c - 664 sys sys 1143673020 7338
 sys/src/cmd/tcs/jis.h - 664 sys sys 944961287 2873
 sys/src/cmd/tcs/ksc.c - 664 sys sys 944961289 72413
 sys/src/cmd/tcs/ksc.h - 664 sys sys 944961287 112
@@ -13389,11 +13389,12 @@ sys/src/cmd/tcs/kuten208.h - 664 sys sys 944961287 94
 sys/src/cmd/tcs/kuten212.c - 664 sys sys 944961289 55407
 sys/src/cmd/tcs/kuten212.h - 664 sys sys 944961287 94
 sys/src/cmd/tcs/misc.h - 664 sys sys 1138382780 19274
-sys/src/cmd/tcs/mkfile - 664 sys sys 1138382781 591
+sys/src/cmd/tcs/mkfile - 664 sys sys 1143673021 601
 sys/src/cmd/tcs/ms.h - 664 sys sys 1138382780 44069
 sys/src/cmd/tcs/plan9.h - 664 sys sys 944961287 751
-sys/src/cmd/tcs/tcs.c - 664 sys sys 1143384248 15561
-sys/src/cmd/tcs/utf.c - 664 sys sys 1143131195 7907
+sys/src/cmd/tcs/tcs.c - 664 sys sys 1143673021 15717
+sys/src/cmd/tcs/tune.c - 664 sys sys 1143673021 6537
+sys/src/cmd/tcs/utf.c - 664 sys sys 1143673021 7975
 sys/src/cmd/tee.c - 664 sys sys 954970286 1062
 sys/src/cmd/telco - 20000000775 sys sys 1015701205 0
 sys/src/cmd/telco/mkfile - 664 sys sys 944961290 201
@@ -13407,7 +13408,7 @@ sys/src/cmd/tlssrv.c - 664 sys sys 1134498997 3426
 sys/src/cmd/touch.c - 664 sys sys 1139758085 960
 sys/src/cmd/tprof.c - 664 sys sys 1124305452 2731
 sys/src/cmd/tr.c - 664 sys sys 944961464 6008
-sys/src/cmd/trace.c - 664 sys sys 1121367076 17928
+sys/src/cmd/trace.c - 664 sys sys 1143648190 17927
 sys/src/cmd/troff - 20000000775 sys sys 944961294 0
 sys/src/cmd/troff/FIXES - 664 sys sys 944961293 24982
 sys/src/cmd/troff/README - 664 sys sys 944961293 1168
@@ -14016,7 +14017,7 @@ sys/src/cmd/upas/send/local.c - 664 sys sys 1031707305 2584
 sys/src/cmd/upas/send/log.c - 664 sys sys 944961322 2090
 sys/src/cmd/upas/send/main.c - 664 sys sys 1065717618 11856
 sys/src/cmd/upas/send/makefile - 664 sys sys 944961322 1247
-sys/src/cmd/upas/send/message.c - 664 sys sys 1065717617 11064
+sys/src/cmd/upas/send/message.c - 664 sys sys 1143670612 11077
 sys/src/cmd/upas/send/mkfile - 664 sys sys 1064589602 706
 sys/src/cmd/upas/send/regtest.c - 664 sys sys 944961322 566
 sys/src/cmd/upas/send/rewrite.c - 664 sys sys 1132331205 6386
@@ -14034,7 +14035,7 @@ sys/src/cmd/upas/smtp/smtp.c - 664 sys sys 1142187216 20134
 sys/src/cmd/upas/smtp/smtp.h - 664 sys sys 1108827986 1270
 sys/src/cmd/upas/smtp/smtpd.c - 664 sys sys 1132331205 31097
 sys/src/cmd/upas/smtp/smtpd.h - 664 sys sys 1067722781 1111
-sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1061836986 6949
+sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1143670612 6961
 sys/src/cmd/upas/smtp/spam.c - 664 sys sys 1139699502 10238
 sys/src/cmd/upas/unesc - 20000000775 sys sys 1075080255 0
 sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
@@ -14534,7 +14535,7 @@ sys/src/libString/s_alloc.c - 664 sys sys 1014930579 1277
 sys/src/libString/s_append.c - 664 sys sys 984754296 270
 sys/src/libString/s_array.c - 664 sys sys 985037746 319
 sys/src/libString/s_copy.c - 664 sys sys 1014930579 356
-sys/src/libString/s_getline.c - 664 sys sys 984754299 1174
+sys/src/libString/s_getline.c - 664 sys sys 1143674139 1163
 sys/src/libString/s_grow.c - 664 sys sys 1017679321 562
 sys/src/libString/s_memappend.c - 664 sys sys 984754300 332
 sys/src/libString/s_nappend.c - 664 sys sys 984754300 314
@@ -15194,7 +15195,7 @@ sys/src/libmach/2.c - 664 sys sys 1138471014 2085
 sys/src/libmach/2db.c - 664 sys sys 1136322405 61334
 sys/src/libmach/2obj.c - 664 sys sys 1091732624 2335
 sys/src/libmach/5.c - 664 sys sys 1138471013 1564
-sys/src/libmach/5db.c - 664 sys sys 1136322405 21586
+sys/src/libmach/5db.c - 664 sys sys 1143671740 21597
 sys/src/libmach/5obj.c - 664 sys sys 1091732625 2209
 sys/src/libmach/6.c - 664 sys sys 1138471019 3482
 sys/src/libmach/6c - 20000000775 sys sys 1123100867 0
@@ -15462,7 +15463,7 @@ sys/src/libsec/port/smallprimes.c - 664 sys sys 984710525 6851
 sys/src/libsec/port/smallprimetest.c - 664 sys sys 984710525 70640
 sys/src/libsec/port/thumb.c - 664 sys sys 1019832052 1891
 sys/src/libsec/port/tlshand.c - 664 sys sys 1126971523 54895
-sys/src/libsec/port/x509.c - 664 sys sys 1127128751 50918
+sys/src/libsec/port/x509.c - 664 sys sys 1143671659 50716
 sys/src/libsec/power - 20000000775 sys sys 984710502 0
 sys/src/libsec/power/mkfile - 664 sys sys 1032061453 139
 sys/src/libstdio - 20000000775 sys sys 984710098 0

+ 57 - 56
dist/replica/plan9.db

@@ -19,7 +19,7 @@
 386/bin/8l - 775 sys sys 1140553397 115719
 386/bin/9660srv - 775 sys sys 1135570766 104023
 386/bin/aan - 775 sys sys 1138500151 131061
-386/bin/acid - 775 sys sys 1143230648 400526
+386/bin/acid - 775 sys sys 1143691088 400530
 386/bin/acme - 775 sys sys 1142871027 429492
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1136656314 132873
@@ -36,16 +36,16 @@
 386/bin/ape/sh - 775 sys sys 1136656327 477237
 386/bin/ape/stty - 775 sys sys 1130384232 41057
 386/bin/ape/tar - 775 sys sys 1135570769 61941
-386/bin/ape/uname - 775 sys sys 1136656327 132702
-386/bin/aquarela - 775 sys sys 1138500199 332204
+386/bin/ape/uname - 775 sys sys 1143691088 134336
+386/bin/aquarela - 775 sys sys 1143691089 332215
 386/bin/ar - 775 sys sys 1135570769 111942
 386/bin/archfs - 775 sys sys 1135570769 146849
 386/bin/ascii - 775 sys sys 1135570770 64641
 386/bin/astro - 775 sys sys 1130384233 138837
 386/bin/auth - 20000000775 sys sys 1016920815 0
 386/bin/auth/aescbc - 775 sys sys 1140717381 140495
-386/bin/auth/asn12rsa - 775 sys sys 1135570770 120433
-386/bin/auth/authsrv - 775 sys sys 1140717382 165510
+386/bin/auth/asn12rsa - 775 sys sys 1143691090 120459
+386/bin/auth/authsrv - 775 sys sys 1143663891 165509
 386/bin/auth/changeuser - 775 sys sys 1135570771 97011
 386/bin/auth/convkeys - 775 sys sys 1140285589 87503
 386/bin/auth/convkeys2 - 775 sys sys 1140285589 87562
@@ -55,7 +55,7 @@
 386/bin/auth/enable - 775 sys sys 1020319057 134
 386/bin/auth/factotum - 775 sys sys 1142740571 321467
 386/bin/auth/fgui - 775 sys sys 1142871027 218654
-386/bin/auth/guard.srv - 775 sys sys 1135570774 142833
+386/bin/auth/guard.srv - 775 sys sys 1143663891 142851
 386/bin/auth/iam - 775 sys sys 1085076981 50791
 386/bin/auth/keyfs - 775 sys sys 1140285591 115638
 386/bin/auth/login - 775 sys sys 1140285592 104525
@@ -64,15 +64,15 @@
 386/bin/auth/pemdecode - 775 sys sys 1135570775 61451
 386/bin/auth/pemencode - 775 sys sys 1135570775 59847
 386/bin/auth/printnetkey - 775 sys sys 1140285592 40436
-386/bin/auth/rsa2csr - 775 sys sys 1140285592 180611
+386/bin/auth/rsa2csr - 775 sys sys 1143691090 180614
 386/bin/auth/rsa2pub - 775 sys sys 1140285593 143643
 386/bin/auth/rsa2ssh - 775 sys sys 1140285593 138960
-386/bin/auth/rsa2x509 - 775 sys sys 1140285594 184372
+386/bin/auth/rsa2x509 - 775 sys sys 1143691091 184375
 386/bin/auth/rsafill - 775 sys sys 1140285594 143711
 386/bin/auth/rsagen - 775 sys sys 1135570778 153242
 386/bin/auth/secretpem - 775 sys sys 1045537944 118526
 386/bin/auth/secstore - 775 sys sys 1140717384 195600
-386/bin/auth/secstored - 775 sys sys 1140717384 197027
+386/bin/auth/secstored - 775 sys sys 1143663892 197026
 386/bin/auth/secuser - 775 sys sys 1140717385 152955
 386/bin/auth/status - 775 sys sys 1020319060 738
 386/bin/auth/uniq - 775 sys sys 1140285596 63092
@@ -83,7 +83,7 @@
 386/bin/aux/LOCK - 775 sys sys 1135570780 59902
 386/bin/aux/X509gen - 775 sys sys 1048341826 129186
 386/bin/aux/accupoint - 775 sys sys 1130384245 40077
-386/bin/aux/acidleak - 775 sys sys 1135570780 69430
+386/bin/aux/acidleak - 775 sys sys 1143691091 69453
 386/bin/aux/antiword - 775 sys sys 1070288096 511478
 386/bin/aux/apm - 775 sys sys 1138500391 180310
 386/bin/aux/astarld - 775 sys sys 1135570781 64675
@@ -94,7 +94,7 @@
 386/bin/aux/cropmarks - 775 sys sys 1020319062 1808
 386/bin/aux/data2s - 775 sys sys 1135570782 60518
 386/bin/aux/depend - 775 sys sys 1138500404 145864
-386/bin/aux/disksim - 775 sys sys 1140976599 150655
+386/bin/aux/disksim - 775 sys sys 1143691091 150653
 386/bin/aux/download - 775 sys sys 1087442506 176016
 386/bin/aux/faxreceive - 775 sys sys 1135570783 83923
 386/bin/aux/faxsend - 775 sys sys 1135570783 89435
@@ -118,7 +118,7 @@
 386/bin/aux/mnihongo - 775 sys sys 1142871028 139676
 386/bin/aux/mouse - 775 sys sys 1130384253 44044
 386/bin/aux/ms2 - 775 sys sys 1138500429 87049
-386/bin/aux/msexceltables - 775 sys sys 1138075017 81356
+386/bin/aux/msexceltables - 775 sys sys 1143663893 81376
 386/bin/aux/mswordstrings - 775 sys sys 1135570787 65298
 386/bin/aux/na - 775 sys sys 1135570787 154182
 386/bin/aux/nfsmount - 775 sys sys 1138500443 234446
@@ -174,11 +174,11 @@
 386/bin/calendar - 775 sys sys 1135570797 80216
 386/bin/cat - 775 sys sys 1130384267 37465
 386/bin/cb - 775 sys sys 1135570797 77379
-386/bin/cdfs - 775 sys sys 1138982896 167246
+386/bin/cdfs - 775 sys sys 1143691092 167256
 386/bin/cfs - 775 sys sys 1135570797 128025
 386/bin/chgrp - 775 sys sys 1135570798 59279
 386/bin/chmod - 775 sys sys 1135570798 62275
-386/bin/cifscmd - 775 sys sys 1138500512 343031
+386/bin/cifscmd - 775 sys sys 1143691093 343042
 386/bin/cleanname - 775 sys sys 1135570798 58298
 386/bin/clock - 775 sys sys 1142871032 158330
 386/bin/cmp - 775 sys sys 1138500523 40602
@@ -190,7 +190,7 @@
 386/bin/cpu - 775 sys sys 1135570800 139202
 386/bin/crop - 775 sys sys 1135570800 116024
 386/bin/date - 775 sys sys 1130384272 43279
-386/bin/db - 775 sys sys 1138500534 345355
+386/bin/db - 775 sys sys 1143691094 345359
 386/bin/dc - 775 sys sys 1135570801 99015
 386/bin/dd - 775 sys sys 1130384273 45416
 386/bin/deroff - 775 sys sys 1135570802 74231
@@ -223,7 +223,7 @@
 386/bin/eqn - 775 sys sys 1141927235 244405
 386/bin/execnet - 775 sys sys 1138500564 178046
 386/bin/exportfs - 775 sys sys 1135570807 162237
-386/bin/ext2srv - 775 sys sys 1135570808 179710
+386/bin/ext2srv - 775 sys sys 1143691095 179732
 386/bin/faces - 775 sys sys 1142871033 194193
 386/bin/factor - 775 sys sys 1135570809 61456
 386/bin/fcp - 775 sys sys 1136656336 82190
@@ -246,7 +246,7 @@
 386/bin/fs/v10fs - 775 sys sys 1134389867 94594
 386/bin/fs/v6fs - 775 sys sys 1134389867 94512
 386/bin/fs/zipfs - 775 sys sys 1134389867 109110
-386/bin/ftpfs - 775 sys sys 1140717386 272840
+386/bin/ftpfs - 775 sys sys 1143691096 272843
 386/bin/games - 20000000775 sys sys 1096298711 0
 386/bin/games/4s - 775 sys sys 1132506854 178226
 386/bin/games/5s - 775 sys sys 1132506855 180514
@@ -269,7 +269,7 @@
 386/bin/gview - 775 sys sys 1142871034 238631
 386/bin/gzip - 775 sys sys 1135570815 84749
 386/bin/hayes - 775 sys sys 1135570815 64550
-386/bin/hget - 775 sys sys 1140717387 233502
+386/bin/hget - 775 sys sys 1143691096 233505
 386/bin/history - 775 sys sys 1136397209 75433
 386/bin/hoc - 775 sys sys 1135570817 99860
 386/bin/html2ms - 775 sys sys 1135570817 66078
@@ -282,8 +282,8 @@
 386/bin/iostats - 775 sys sys 1140112236 100160
 386/bin/ip - 20000000775 sys sys 1016920851 0
 386/bin/ip/dhcpclient - 775 sys sys 1135570819 94132
-386/bin/ip/dhcpd - 775 sys sys 1135570819 149217
-386/bin/ip/dhcpleases - 775 sys sys 1135570820 86209
+386/bin/ip/dhcpd - 775 sys sys 1143691097 149215
+386/bin/ip/dhcpleases - 775 sys sys 1143691097 86211
 386/bin/ip/ftpd - 775 sys sys 1135570820 170401
 386/bin/ip/gizzard - 775 sys sys 1081480408 101521
 386/bin/ip/gping - 775 sys sys 1142871035 183143
@@ -297,7 +297,7 @@
 386/bin/ip/httpd/save - 775 sys sys 1143482342 133176
 386/bin/ip/httpd/webls - 775 sys sys 1142871037 133277
 386/bin/ip/httpd/wikipost - 775 sys sys 1142871038 114645
-386/bin/ip/httpfile - 775 sys sys 1140717389 283942
+386/bin/ip/httpfile - 775 sys sys 1143691098 283945
 386/bin/ip/imap4d - 775 sys sys 1140717389 237709
 386/bin/ip/ipconfig - 775 sys sys 1135570825 137844
 386/bin/ip/ping - 775 sys sys 1139680592 76498
@@ -425,14 +425,14 @@
 386/bin/telnet - 775 sys sys 1135570847 80400
 386/bin/test - 775 sys sys 1135570847 69841
 386/bin/time - 775 sys sys 1135570848 61372
-386/bin/tlsclient - 775 sys sys 1140717390 198501
-386/bin/tlssrv - 775 sys sys 1140717391 198761
+386/bin/tlsclient - 775 sys sys 1143691099 198504
+386/bin/tlssrv - 775 sys sys 1143691099 198764
 386/bin/togif - 775 sys sys 1142871042 189909
 386/bin/toico - 775 sys sys 1142871042 123688
 386/bin/topng - 775 sys sys 1135570850 138333
 386/bin/toppm - 775 sys sys 1142871042 165305
 386/bin/touch - 775 sys sys 1139853472 63826
-386/bin/tprof - 775 sys sys 1138500753 297118
+386/bin/tprof - 775 sys sys 1143691100 297122
 386/bin/tr - 775 sys sys 1135570851 61845
 386/bin/trace - 775 sys sys 1142871043 181505
 386/bin/troff - 775 sys sys 1134151360 357941
@@ -530,7 +530,7 @@
 386/lib - 20000000775 sys sys 1016826328 0
 386/lib/ape - 20000000775 sys sys 944969312 0
 386/lib/ape/lib9.a - 664 sys sys 1135531447 6906
-386/lib/ape/libap.a - 664 sys sys 1143309593 816080
+386/lib/ape/libap.a - 664 sys sys 1143691102 816746
 386/lib/ape/libbsd.a - 664 sys sys 1143309593 183044
 386/lib/ape/libdraw.a - 664 sys sys 1142871046 580970
 386/lib/ape/libfmt.a - 664 sys sys 1143309594 150938
@@ -540,7 +540,7 @@
 386/lib/ape/libutf.a - 664 sys sys 1137485201 84674
 386/lib/ape/libv.a - 664 sys sys 1137485201 19668
 386/lib/lib9p.a - 664 sys sys 1143309595 91144
-386/lib/libString.a - 664 sys sys 1143137027 22184
+386/lib/libString.a - 664 sys sys 1143691102 22166
 386/lib/libauth.a - 664 sys sys 1143309595 58624
 386/lib/libauthsrv.a - 664 sys sys 1143309595 34196
 386/lib/libbin.a - 664 sys sys 1143137027 2534
@@ -557,7 +557,7 @@
 386/lib/libhttpd.a - 664 sys sys 1143309598 99554
 386/lib/libip.a - 664 sys sys 1143309598 35590
 386/lib/libl.a - 664 sys sys 1143137034 5384
-386/lib/libmach.a - 664 sys sys 1143309600 782134
+386/lib/libmach.a - 664 sys sys 1143691103 782134
 386/lib/libmemdraw.a - 664 sys sys 1143137037 284158
 386/lib/libmemlayer.a - 664 sys sys 1143137037 47360
 386/lib/libmp.a - 664 sys sys 1143137037 80024
@@ -565,7 +565,7 @@
 386/lib/libplumb.a - 664 sys sys 1143137038 19408
 386/lib/libregexp.a - 664 sys sys 1143309600 37450
 386/lib/libscribble.a - 664 sys sys 1143309600 107266
-386/lib/libsec.a - 664 sys sys 1143309601 646928
+386/lib/libsec.a - 664 sys sys 1143691105 646602
 386/lib/libstdio.a - 664 sys sys 1143309602 126110
 386/lib/libsunrpc.a - 664 sys sys 1143309603 355930
 386/lib/libthread.a - 664 sys sys 1143309603 71946
@@ -5749,7 +5749,7 @@ sys/games - 20000000775 sys sys 952648872 0
 sys/games/lib - 20000000775 sys sys 952648879 0
 sys/games/lib/4scores - 10000000666 sys sys 1118680448 0
 sys/games/lib/5scores - 10000000666 sys sys 1118680453 0
-sys/games/lib/fortunes - 664 sys sys 1143487643 258076
+sys/games/lib/fortunes - 664 sys sys 1143648119 258201
 sys/games/lib/mahjongg - 20000000775 sys sys 1095792278 0
 sys/games/lib/mahjongg/backgrounds - 20000000775 sys sys 1095792293 0
 sys/games/lib/mahjongg/backgrounds/default.bit - 664 sys sys 1095792293 346803
@@ -8045,7 +8045,7 @@ sys/src/9/pc/vgahiqvideo.c - 664 sys sys 1131290601 4098
 sys/src/9/pc/vgai81x.c - 664 sys sys 1135487942 4421
 sys/src/9/pc/vgamach64xx.c - 664 sys sys 1131290601 28257
 sys/src/9/pc/vgamga2164w.c - 664 sys sys 1132331257 4769
-sys/src/9/pc/vgamga4xx.c - 664 sys sys 1141324233 10211
+sys/src/9/pc/vgamga4xx.c - 664 sys sys 1143648125 9489
 sys/src/9/pc/vganeomagic.c - 664 sys sys 1131422294 10255
 sys/src/9/pc/vganvidia.c - 664 sys sys 1137689150 12395
 sys/src/9/pc/vgargb524.c - 664 sys sys 1131290602 4251
@@ -8072,7 +8072,7 @@ sys/src/9/port/dev.c - 664 sys sys 1131289870 8219
 sys/src/9/port/devaudio.c - 664 sys sys 1142086793 21147
 sys/src/9/port/devbridge.c - 664 sys sys 1055688301 24308
 sys/src/9/port/devcap.c - 664 sys sys 1048644215 4113
-sys/src/9/port/devcons.c - 664 sys sys 1142177608 22993
+sys/src/9/port/devcons.c - 664 sys sys 1143648105 23071
 sys/src/9/port/devdraw.c - 664 sys sys 1131289870 43537
 sys/src/9/port/devdup.c - 664 sys sys 1014931172 2332
 sys/src/9/port/devenv.c - 664 sys sys 1048644225 6992
@@ -8087,7 +8087,7 @@ sys/src/9/port/devpipe.c - 664 sys sys 1077055016 5825
 sys/src/9/port/devpnp.c - 664 sys sys 1088560907 13624
 sys/src/9/port/devproc.c - 664 sys sys 1142086847 28500
 sys/src/9/port/devroot.c - 664 sys sys 1067722764 4254
-sys/src/9/port/devsd.c - 664 sys sys 1138458233 30866
+sys/src/9/port/devsd.c - 664 sys sys 1143648157 30871
 sys/src/9/port/devsdp.c - 664 sys sys 1057323393 44800
 sys/src/9/port/devsegment.c - 664 sys sys 1131289891 9610
 sys/src/9/port/devsrv.c - 664 sys sys 1107232208 5418
@@ -8689,7 +8689,7 @@ sys/src/ape/lib/ap/plan9/times.c - 664 sys sys 1014921984 730
 sys/src/ape/lib/ap/plan9/tmpfile.c - 664 sys sys 1014921985 744
 sys/src/ape/lib/ap/plan9/ttyname.c - 664 sys sys 1014921985 133
 sys/src/ape/lib/ap/plan9/umask.c - 664 sys sys 1014921985 182
-sys/src/ape/lib/ap/plan9/uname.c - 664 sys sys 1014921985 408
+sys/src/ape/lib/ap/plan9/uname.c - 664 sys sys 1143672359 533
 sys/src/ape/lib/ap/plan9/unlink.c - 664 sys sys 1038237528 1505
 sys/src/ape/lib/ap/plan9/utime.c - 664 sys sys 1046643007 469
 sys/src/ape/lib/ap/plan9/wait.c - 664 sys sys 1093980308 2378
@@ -9355,7 +9355,7 @@ sys/src/cmd/aquarela/netbios.h - 664 sys sys 1135892110 5967
 sys/src/cmd/aquarela/smb.h - 664 sys sys 1135892110 9492
 sys/src/cmd/aquarela/smballoc.c - 664 sys sys 1135892110 508
 sys/src/cmd/aquarela/smbbrowse.c - 664 sys sys 1135892110 1473
-sys/src/cmd/aquarela/smbbuffer.c - 664 sys sys 1135892110 9717
+sys/src/cmd/aquarela/smbbuffer.c - 664 sys sys 1143670679 9728
 sys/src/cmd/aquarela/smbclientopen.c - 664 sys sys 1135892110 1428
 sys/src/cmd/aquarela/smbcomclose.c - 664 sys sys 1135892110 578
 sys/src/cmd/aquarela/smbcomcreatedir.c - 664 sys sys 1135892110 692
@@ -9528,7 +9528,7 @@ sys/src/cmd/auth/secstore/secstore.h - 664 sys sys 1106575526 859
 sys/src/cmd/auth/secstore/secstored.c - 664 sys sys 1140272944 8087
 sys/src/cmd/auth/secstore/secuser.c - 664 sys sys 1143465899 5136
 sys/src/cmd/auth/secstore/util.c - 664 sys sys 1140272945 1770
-sys/src/cmd/auth/secureidcheck.c - 664 sys sys 1078840013 9007
+sys/src/cmd/auth/secureidcheck.c - 664 sys sys 1143648183 9006
 sys/src/cmd/auth/status - 775 sys sys 1015008430 738
 sys/src/cmd/auth/uniq.c - 664 sys sys 1140272945 1440
 sys/src/cmd/auth/userpasswd.c - 664 sys sys 1015008432 591
@@ -9537,7 +9537,7 @@ sys/src/cmd/auth/wrkey.c - 664 sys sys 1019058717 176
 sys/src/cmd/aux - 20000000775 sys sys 1015008975 0
 sys/src/cmd/aux/9pcon.c - 664 sys sys 1127394247 6284
 sys/src/cmd/aux/accupoint.c - 664 sys sys 985124882 2166
-sys/src/cmd/aux/acidleak.c - 664 sys sys 1126879783 5952
+sys/src/cmd/aux/acidleak.c - 664 sys sys 1143670676 5965
 sys/src/cmd/aux/antiword - 20000000775 sys sys 1069793877 0
 sys/src/cmd/aux/antiword/antiword.h - 664 sys sys 1137261472 27773
 sys/src/cmd/aux/antiword/asc85enc.c - 664 sys sys 1137261472 3910
@@ -9620,7 +9620,7 @@ sys/src/cmd/aux/consolefs.c - 664 sys sys 1134305455 20200
 sys/src/cmd/aux/conswdir.c - 664 sys sys 1045504955 2077
 sys/src/cmd/aux/data2s.c - 664 sys sys 1032059295 796
 sys/src/cmd/aux/depend.c - 664 sys sys 1134305455 25880
-sys/src/cmd/aux/disksim.c - 664 sys sys 1140964826 11178
+sys/src/cmd/aux/disksim.c - 664 sys sys 1143670638 11172
 sys/src/cmd/aux/flashfs - 20000000775 sys sys 1015009082 0
 sys/src/cmd/aux/flashfs/aux.c - 664 sys sys 1015009080 699
 sys/src/cmd/aux/flashfs/aux.h - 664 sys sys 1015009080 111
@@ -9659,7 +9659,7 @@ sys/src/cmd/aux/mnihongo/mnihongo.c - 664 sys sys 946759402 6406
 sys/src/cmd/aux/mnihongo/tmac.nihongo - 664 sys sys 944960789 22
 sys/src/cmd/aux/mouse.c - 664 sys sys 1063855425 7049
 sys/src/cmd/aux/ms2.c - 664 sys sys 1124305056 3153
-sys/src/cmd/aux/msexceltables.c - 664 sys sys 1138065340 14094
+sys/src/cmd/aux/msexceltables.c - 664 sys sys 1143648177 14092
 sys/src/cmd/aux/mswordstrings.c - 664 sys sys 952201344 5767
 sys/src/cmd/aux/na - 20000000775 sys sys 955036627 0
 sys/src/cmd/aux/na/mkfile - 664 sys sys 955036627 121
@@ -9850,7 +9850,7 @@ sys/src/cmd/cdfs/dat.h - 664 sys sys 1014925665 2334
 sys/src/cmd/cdfs/fns.h - 664 sys sys 969542122 297
 sys/src/cmd/cdfs/main.c - 664 sys sys 1017679316 11040
 sys/src/cmd/cdfs/mkfile - 664 sys sys 959922196 182
-sys/src/cmd/cdfs/mmc.c - 664 sys sys 1014925666 17171
+sys/src/cmd/cdfs/mmc.c - 664 sys sys 1143670611 17182
 sys/src/cmd/cfs - 20000000775 sys sys 1015009266 0
 sys/src/cmd/cfs/bcache.c - 664 sys sys 1014925219 2956
 sys/src/cmd/cfs/bcache.h - 664 sys sys 1014925220 797
@@ -10105,7 +10105,7 @@ sys/src/cmd/ext2srv/ext2fs.c - 664 sys sys 1055687747 6063
 sys/src/cmd/ext2srv/ext2srv.man - 664 sys sys 1055687747 2409
 sys/src/cmd/ext2srv/ext2subs.c - 664 sys sys 1134305454 38683
 sys/src/cmd/ext2srv/fns.h - 664 sys sys 1055687748 1803
-sys/src/cmd/ext2srv/iobuf.c - 664 sys sys 1055687748 2854
+sys/src/cmd/ext2srv/iobuf.c - 664 sys sys 1143670611 2864
 sys/src/cmd/ext2srv/mkfile - 664 sys sys 1055687748 194
 sys/src/cmd/ext2srv/readme - 664 sys sys 1055687748 1700
 sys/src/cmd/ext2srv/version - 664 sys sys 1055687763 870
@@ -12292,7 +12292,7 @@ sys/src/cmd/ip/dhcp.h - 664 sys sys 1051206271 3368
 sys/src/cmd/ip/dhcpclient.c - 664 sys sys 1050714660 11978
 sys/src/cmd/ip/dhcpd - 20000000775 sys sys 988249979 0
 sys/src/cmd/ip/dhcpd/dat.h - 664 sys sys 1084471353 2522
-sys/src/cmd/ip/dhcpd/db.c - 664 sys sys 1032655001 7484
+sys/src/cmd/ip/dhcpd/db.c - 664 sys sys 1143670612 7466
 sys/src/cmd/ip/dhcpd/dhcpd.c - 664 sys sys 1084471366 32795
 sys/src/cmd/ip/dhcpd/dhcpleases.c - 664 sys sys 1032655001 779
 sys/src/cmd/ip/dhcpd/mkfile - 664 sys sys 1063897571 433
@@ -13351,11 +13351,11 @@ sys/src/cmd/tcs - 20000000775 sys sys 954034511 0
 sys/src/cmd/tcs/8859.h - 664 sys sys 1138382778 16466
 sys/src/cmd/tcs/big5.c - 664 sys sys 944961288 99606
 sys/src/cmd/tcs/big5.h - 664 sys sys 944961287 112
-sys/src/cmd/tcs/conv.h - 664 sys sys 1135487940 941
-sys/src/cmd/tcs/conv_big5.c - 664 sys sys 944961288 2821
-sys/src/cmd/tcs/conv_gb.c - 664 sys sys 944961287 2210
-sys/src/cmd/tcs/conv_jis.c - 664 sys sys 944961289 10998
-sys/src/cmd/tcs/conv_ksc.c - 664 sys sys 944961288 2716
+sys/src/cmd/tcs/conv.h - 664 sys sys 1143673019 1048
+sys/src/cmd/tcs/conv_big5.c - 664 sys sys 1143673020 2839
+sys/src/cmd/tcs/conv_gb.c - 664 sys sys 1143673020 2228
+sys/src/cmd/tcs/conv_jis.c - 664 sys sys 1143673020 11016
+sys/src/cmd/tcs/conv_ksc.c - 664 sys sys 1143673020 2734
 sys/src/cmd/tcs/cyrillic.h - 664 sys sys 1138382779 7921
 sys/src/cmd/tcs/desc.latin - 664 sys sys 944961287 20189
 sys/src/cmd/tcs/ex2.utf - 664 sys sys 944961288 14431
@@ -13380,7 +13380,7 @@ sys/src/cmd/tcs/font/qbits.c - 664 sys sys 944961251 2037
 sys/src/cmd/tcs/gb.c - 664 sys sys 944961288 62707
 sys/src/cmd/tcs/gb.h - 664 sys sys 944961287 183
 sys/src/cmd/tcs/hdr.h - 664 sys sys 944961287 1213
-sys/src/cmd/tcs/html.c - 664 sys sys 1143220982 7318
+sys/src/cmd/tcs/html.c - 664 sys sys 1143673020 7338
 sys/src/cmd/tcs/jis.h - 664 sys sys 944961287 2873
 sys/src/cmd/tcs/ksc.c - 664 sys sys 944961289 72413
 sys/src/cmd/tcs/ksc.h - 664 sys sys 944961287 112
@@ -13389,11 +13389,12 @@ sys/src/cmd/tcs/kuten208.h - 664 sys sys 944961287 94
 sys/src/cmd/tcs/kuten212.c - 664 sys sys 944961289 55407
 sys/src/cmd/tcs/kuten212.h - 664 sys sys 944961287 94
 sys/src/cmd/tcs/misc.h - 664 sys sys 1138382780 19274
-sys/src/cmd/tcs/mkfile - 664 sys sys 1138382781 591
+sys/src/cmd/tcs/mkfile - 664 sys sys 1143673021 601
 sys/src/cmd/tcs/ms.h - 664 sys sys 1138382780 44069
 sys/src/cmd/tcs/plan9.h - 664 sys sys 944961287 751
-sys/src/cmd/tcs/tcs.c - 664 sys sys 1143384248 15561
-sys/src/cmd/tcs/utf.c - 664 sys sys 1143131195 7907
+sys/src/cmd/tcs/tcs.c - 664 sys sys 1143673021 15717
+sys/src/cmd/tcs/tune.c - 664 sys sys 1143673021 6537
+sys/src/cmd/tcs/utf.c - 664 sys sys 1143673021 7975
 sys/src/cmd/tee.c - 664 sys sys 954970286 1062
 sys/src/cmd/telco - 20000000775 sys sys 1015701205 0
 sys/src/cmd/telco/mkfile - 664 sys sys 944961290 201
@@ -13407,7 +13408,7 @@ sys/src/cmd/tlssrv.c - 664 sys sys 1134498997 3426
 sys/src/cmd/touch.c - 664 sys sys 1139758085 960
 sys/src/cmd/tprof.c - 664 sys sys 1124305452 2731
 sys/src/cmd/tr.c - 664 sys sys 944961464 6008
-sys/src/cmd/trace.c - 664 sys sys 1121367076 17928
+sys/src/cmd/trace.c - 664 sys sys 1143648190 17927
 sys/src/cmd/troff - 20000000775 sys sys 944961294 0
 sys/src/cmd/troff/FIXES - 664 sys sys 944961293 24982
 sys/src/cmd/troff/README - 664 sys sys 944961293 1168
@@ -14016,7 +14017,7 @@ sys/src/cmd/upas/send/local.c - 664 sys sys 1031707305 2584
 sys/src/cmd/upas/send/log.c - 664 sys sys 944961322 2090
 sys/src/cmd/upas/send/main.c - 664 sys sys 1065717618 11856
 sys/src/cmd/upas/send/makefile - 664 sys sys 944961322 1247
-sys/src/cmd/upas/send/message.c - 664 sys sys 1065717617 11064
+sys/src/cmd/upas/send/message.c - 664 sys sys 1143670612 11077
 sys/src/cmd/upas/send/mkfile - 664 sys sys 1064589602 706
 sys/src/cmd/upas/send/regtest.c - 664 sys sys 944961322 566
 sys/src/cmd/upas/send/rewrite.c - 664 sys sys 1132331205 6386
@@ -14034,7 +14035,7 @@ sys/src/cmd/upas/smtp/smtp.c - 664 sys sys 1142187216 20134
 sys/src/cmd/upas/smtp/smtp.h - 664 sys sys 1108827986 1270
 sys/src/cmd/upas/smtp/smtpd.c - 664 sys sys 1132331205 31097
 sys/src/cmd/upas/smtp/smtpd.h - 664 sys sys 1067722781 1111
-sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1061836986 6949
+sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1143670612 6961
 sys/src/cmd/upas/smtp/spam.c - 664 sys sys 1139699502 10238
 sys/src/cmd/upas/unesc - 20000000775 sys sys 1075080255 0
 sys/src/cmd/upas/unesc/mkfile - 664 sys sys 1075080255 164
@@ -14534,7 +14535,7 @@ sys/src/libString/s_alloc.c - 664 sys sys 1014930579 1277
 sys/src/libString/s_append.c - 664 sys sys 984754296 270
 sys/src/libString/s_array.c - 664 sys sys 985037746 319
 sys/src/libString/s_copy.c - 664 sys sys 1014930579 356
-sys/src/libString/s_getline.c - 664 sys sys 984754299 1174
+sys/src/libString/s_getline.c - 664 sys sys 1143674139 1163
 sys/src/libString/s_grow.c - 664 sys sys 1017679321 562
 sys/src/libString/s_memappend.c - 664 sys sys 984754300 332
 sys/src/libString/s_nappend.c - 664 sys sys 984754300 314
@@ -15194,7 +15195,7 @@ sys/src/libmach/2.c - 664 sys sys 1138471014 2085
 sys/src/libmach/2db.c - 664 sys sys 1136322405 61334
 sys/src/libmach/2obj.c - 664 sys sys 1091732624 2335
 sys/src/libmach/5.c - 664 sys sys 1138471013 1564
-sys/src/libmach/5db.c - 664 sys sys 1136322405 21586
+sys/src/libmach/5db.c - 664 sys sys 1143671740 21597
 sys/src/libmach/5obj.c - 664 sys sys 1091732625 2209
 sys/src/libmach/6.c - 664 sys sys 1138471019 3482
 sys/src/libmach/6c - 20000000775 sys sys 1123100867 0
@@ -15462,7 +15463,7 @@ sys/src/libsec/port/smallprimes.c - 664 sys sys 984710525 6851
 sys/src/libsec/port/smallprimetest.c - 664 sys sys 984710525 70640
 sys/src/libsec/port/thumb.c - 664 sys sys 1019832052 1891
 sys/src/libsec/port/tlshand.c - 664 sys sys 1126971523 54895
-sys/src/libsec/port/x509.c - 664 sys sys 1127128751 50918
+sys/src/libsec/port/x509.c - 664 sys sys 1143671659 50716
 sys/src/libsec/power - 20000000775 sys sys 984710502 0
 sys/src/libsec/power/mkfile - 664 sys sys 1032061453 139
 sys/src/libstdio - 20000000775 sys sys 984710098 0

+ 58 - 0
dist/replica/plan9.log

@@ -28341,3 +28341,61 @@
 1143568860 0 c 386/bin/tweak - 775 sys sys 1143568603 192903
 1143568860 1 c sys/man/3/usb - 664 sys sys 1143567502 6941
 1143568860 2 c sys/man/8/prep - 664 sys sys 1143568557 13874
+1143648086 0 c sys/games/lib/fortunes - 664 sys sys 1143648119 258201
+1143648086 1 c sys/src/9/pc/vgamga4xx.c - 664 sys sys 1143648125 9489
+1143648086 2 c sys/src/9/port/devcons.c - 664 sys sys 1143648105 23071
+1143649887 0 c sys/src/9/port/devsd.c - 664 sys sys 1143648157 30871
+1143649887 1 c sys/src/cmd/auth/secureidcheck.c - 664 sys sys 1143648183 9006
+1143649887 2 c sys/src/cmd/aux/msexceltables.c - 664 sys sys 1143648177 14092
+1143649887 3 c sys/src/cmd/trace.c - 664 sys sys 1143648190 17927
+1143664292 0 c 386/bin/auth/authsrv - 775 sys sys 1143663891 165509
+1143664292 1 c 386/bin/auth/guard.srv - 775 sys sys 1143663891 142851
+1143664292 2 c 386/bin/auth/secstored - 775 sys sys 1143663892 197026
+1143664292 3 c 386/bin/aux/msexceltables - 775 sys sys 1143663893 81376
+1143671494 0 c sys/src/cmd/aquarela/smbbuffer.c - 664 sys sys 1143670679 9728
+1143671494 1 c sys/src/cmd/aux/acidleak.c - 664 sys sys 1143670676 5965
+1143671494 2 c sys/src/cmd/aux/disksim.c - 664 sys sys 1143670638 11172
+1143671494 3 c sys/src/cmd/cdfs/mmc.c - 664 sys sys 1143670611 17182
+1143671494 4 c sys/src/cmd/ip/dhcpd/db.c - 664 sys sys 1143670612 7466
+1143671494 5 c sys/src/cmd/tcs/utf.c - 664 sys sys 1143670049 7933
+1143671494 6 c sys/src/cmd/upas/send/message.c - 664 sys sys 1143670612 11077
+1143671494 7 c sys/src/cmd/upas/smtp/smtpd.y - 664 sys sys 1143670612 6961
+1143671494 8 c sys/src/cmd/ext2srv/iobuf.c - 664 sys sys 1143670611 2864
+1143673294 0 c sys/src/ape/lib/ap/plan9/uname.c - 664 sys sys 1143672359 533
+1143673294 1 c sys/src/cmd/tcs/conv.h - 664 sys sys 1143673019 1048
+1143673294 2 c sys/src/cmd/tcs/conv_big5.c - 664 sys sys 1143673020 2839
+1143673294 3 c sys/src/cmd/tcs/conv_gb.c - 664 sys sys 1143673020 2228
+1143673294 4 c sys/src/cmd/tcs/conv_jis.c - 664 sys sys 1143673020 11016
+1143673294 5 c sys/src/cmd/tcs/conv_ksc.c - 664 sys sys 1143673020 2734
+1143673294 6 c sys/src/cmd/tcs/html.c - 664 sys sys 1143673020 7338
+1143673294 7 c sys/src/cmd/tcs/mkfile - 664 sys sys 1143673021 601
+1143673294 8 c sys/src/cmd/tcs/tcs.c - 664 sys sys 1143673021 15717
+1143673294 9 a sys/src/cmd/tcs/tune.c - 664 sys sys 1143673021 6537
+1143673294 10 c sys/src/cmd/tcs/utf.c - 664 sys sys 1143673021 7975
+1143673294 11 c sys/src/libmach/5db.c - 664 sys sys 1143671740 21597
+1143673294 12 c sys/src/libsec/port/x509.c - 664 sys sys 1143671659 50716
+1143675095 0 c sys/src/libString/s_getline.c - 664 sys sys 1143674139 1163
+1143691299 0 c 386/bin/acid - 775 sys sys 1143691088 400530
+1143691299 1 c 386/bin/cdfs - 775 sys sys 1143691092 167256
+1143691299 2 c 386/bin/db - 775 sys sys 1143691094 345359
+1143691299 3 c 386/bin/hget - 775 sys sys 1143691096 233505
+1143691299 4 c 386/bin/ftpfs - 775 sys sys 1143691096 272843
+1143691299 5 c 386/bin/ape/uname - 775 sys sys 1143691088 134336
+1143691299 6 c 386/bin/aquarela - 775 sys sys 1143691089 332215
+1143691299 7 c 386/bin/auth/asn12rsa - 775 sys sys 1143691090 120459
+1143691299 8 c 386/bin/auth/rsa2csr - 775 sys sys 1143691090 180614
+1143691299 9 c 386/bin/auth/rsa2x509 - 775 sys sys 1143691091 184375
+1143691299 10 c 386/bin/aux/acidleak - 775 sys sys 1143691091 69453
+1143691299 11 c 386/bin/aux/disksim - 775 sys sys 1143691091 150653
+1143691299 12 c 386/bin/cifscmd - 775 sys sys 1143691093 343042
+1143691299 13 c 386/bin/ext2srv - 775 sys sys 1143691095 179732
+1143691299 14 c 386/bin/ip/dhcpd - 775 sys sys 1143691097 149215
+1143691299 15 c 386/bin/ip/dhcpleases - 775 sys sys 1143691097 86211
+1143691299 16 c 386/bin/ip/httpfile - 775 sys sys 1143691098 283945
+1143691299 17 c 386/bin/tlsclient - 775 sys sys 1143691099 198504
+1143691299 18 c 386/bin/tlssrv - 775 sys sys 1143691099 198764
+1143691299 19 c 386/bin/tprof - 775 sys sys 1143691100 297122
+1143691299 20 c 386/lib/ape/libap.a - 664 sys sys 1143691102 816746
+1143691299 21 c 386/lib/libString.a - 664 sys sys 1143691102 22166
+1143691299 22 c 386/lib/libmach.a - 664 sys sys 1143691103 782134
+1143691299 23 c 386/lib/libsec.a - 664 sys sys 1143691105 646602

+ 1 - 0
sys/games/lib/fortunes

@@ -4112,3 +4112,4 @@ x11 code is just so bad. by which i mean bad of course, and not good.  - forsyth
 Peter Seebach is not POSIX compliant but runs most UNIX applications.
 Glyph 390 is called ".notdef", a singularly inept choice of name.
 Well, I have tried to learn as much as possible from prior attempts.  If nothing else, we are committed to failing in a new way :)  - Elon Musk, SpaceX founder
+You've got a syntax error somewhere in your code.  It could be around line 15.  Good luck finding it.  - the Mini-C compiler

+ 124 - 161
sys/src/9/pc/vgamga4xx.c

@@ -1,22 +1,22 @@
 
 /*
  * Matrox G200, G400 and G450.
- * see /sys/src/cmd/aux/vga/mga4xx.c
+ * Written by Philippe Anel <xigh@free.fr>
  */
 
-#include 	"u.h"
-#include 	"../port/lib.h"
-#include 	"mem.h"
-#include 	"dat.h"
-#include 	"fns.h"
-#include 	"io.h"
-#include 	"../port/error.h"
+#include "u.h"
+#include "../port/lib.h"
+#include "mem.h"
+#include "dat.h"
+#include "fns.h"
+#include "io.h"
+#include "../port/error.h"
 
-#define	Image	IMAGE
-#include 	<draw.h>
-#include 	<memdraw.h>
-#include 	<cursor.h>
-#include	"screen.h"
+#define	Image IMAGE
+#include <draw.h>
+#include <memdraw.h>
+#include <cursor.h>
+#include "screen.h"
 
 enum {
 	MATROX			= 0x102B,
@@ -35,14 +35,10 @@ enum {
  		DWG_LINEAR		= 0x0080,
  		DWG_SOLID		= 0x0800,
  		DWG_ARZERO		= 0x1000,
- 		DWG_SGNZERO	= 0x2000,
+ 		DWG_SGNZERO		= 0x2000,
  		DWG_SHIFTZERO	= 0x4000,
 		DWG_REPLACE		= 0x000C0000,
- 		DWG_REPLACE2	= (DWG_REPLACE | 0x40),
- 		DWG_XOR		= 0x00060010,
  		DWG_BFCOL		= 0x04000000,
- 		DWG_BMONOWF	= 0x08000000,
-		DWG_TRANSC		= 0x40000000,
  	SRCORG			= 0x2cb4,
 	PITCH			= 0x1c8c,
 	DSTORG			= 0x2cb8,
@@ -62,10 +58,8 @@ enum {
 	AR4				= 0x1C70,
 	AR5				= 0x1C74,
 	SGN				= 0x1C58,
-		SGN_SCANLEFT = 		1,
-		SGN_SCANRIGHT = 		0,
-		SGN_SDY_POSITIVE = 	0,
-		SGN_SDY_NEGATIVE = 	4,
+		SGN_LEFT		= 1,
+		SGN_UP			= 4,
 
 	GO				= 0x0100,
  	FIFOSTATUS		= 0x1E10,
@@ -74,37 +68,37 @@ enum {
 	CRTCEXTIDX		= 0x1FDE,		/* CRTC Extension Index */
 	CRTCEXTDATA		= 0x1FDF,		/* CRTC Extension Data */
 
-	FILL_OPERAND		= 0x800c7804,
+	FILL_OPERAND	= 0x800c7804,
 };
 
-static Pcidev*
+static Pcidev *
 mgapcimatch(void)
 {
-	Pcidev*	p;
+	Pcidev *p;
 	
 	p = pcimatch(nil, MATROX, MGA4xx);
-	if (p == nil)
+	if(p == nil)
 		p = pcimatch(nil, MATROX, MGA200);
 	return p;
 }
 
 
 static void
-mgawrite8(VGAscr* scr, int index, uchar val)
+mgawrite8(VGAscr *scr, int index, uchar val)
 {
 	((uchar*)scr->mmio)[index] = val;
 }
 
 static uchar
-mgaread8(VGAscr* scr, int index)
+mgaread8(VGAscr *scr, int index)
 {
 	return ((uchar*)scr->mmio)[index];
 }
 
 static uchar
-crtcextset(VGAscr* scr, int index, uchar set, uchar clr)
+crtcextset(VGAscr *scr, int index, uchar set, uchar clr)
 {
-	uchar	tmp;
+	uchar tmp;
 
 	mgawrite8(scr, CRTCEXTIDX, index);
 	tmp = mgaread8(scr, CRTCEXTDATA);
@@ -117,12 +111,12 @@ crtcextset(VGAscr* scr, int index, uchar set, uchar clr)
 static void
 mga4xxenable(VGAscr* scr)
 {
-	Pcidev *	pci;
-	int 		size;
-	int 		i, n, k;
-	uchar *	p;
-	uchar	x[16];
-	uchar	crtcext3;
+	Pcidev *pci;
+	int size;
+	int i, n, k;
+	uchar *p;
+	uchar x[16];
+	uchar crtcext3;
 
 	if(scr->mmio)
 		return;
@@ -153,7 +147,7 @@ mga4xxenable(VGAscr* scr)
 
 		p = scr->vaddr;
 		n = (size / MB) / 2;
-		for (i = 0; i < n; i++) {
+		for(i = 0; i < n; i++){
 			k = (2*i+1)*MB;
 			p[k] = 0;
 			p[k] = i+1;
@@ -169,7 +163,7 @@ mga4xxenable(VGAscr* scr)
 	}
 }
 
-enum {
+enum{
 	Index		= 0x00,		/* Index */
 	Data			= 0x0A,		/* Data */
 
@@ -184,9 +178,9 @@ enum {
 };
 
 static void
-dac4xxdisable(VGAscr* scr)
+dac4xxdisable(VGAscr *scr)
 {
-	uchar * 	dac4xx;
+	uchar *dac4xx;
 	
 	if(scr->mmio == 0)
 		return;
@@ -198,11 +192,11 @@ dac4xxdisable(VGAscr* scr)
 }
 
 static void
-dac4xxload(VGAscr* scr, Cursor* curs)
+dac4xxload(VGAscr *scr, Cursor *curs)
 {
-	int 		y;
-	uchar *	p;
-	uchar * 	dac4xx;
+	int y;
+	uchar *p;
+	uchar *dac4xx;
 
 	if(scr->mmio == 0)
 		return;
@@ -215,18 +209,18 @@ dac4xxload(VGAscr* scr, Cursor* curs)
 	for(y = 0; y < 64; y++){
 		*p++ = 0; *p++ = 0; *p++ = 0;
 		*p++ = 0; *p++ = 0; *p++ = 0;
-		if(y <16){
-			*p++ = curs->set[1+y*2]|curs->clr[1+2*y];
-			*p++ = curs->set[y*2]|curs->clr[2*y];
+		if(y < 16){
+			*p++ = curs->set[1+y*2];
+			*p++ = curs->set[y*2];
 		} else{
 			*p++ = 0; *p++ = 0;
 		}
 
 		*p++ = 0; *p++ = 0; *p++ = 0;
 		*p++ = 0; *p++ = 0; *p++ = 0;
-		if(y <16){
-			*p++ = curs->set[1+y*2];
-			*p++ = curs->set[y*2];
+		if(y < 16){
+			*p++ = curs->set[1+y*2]|curs->clr[1+2*y];
+			*p++ = curs->set[y*2]|curs->clr[2*y];
 		} else{
 			*p++ = 0; *p++ = 0;
 		}
@@ -239,10 +233,10 @@ dac4xxload(VGAscr* scr, Cursor* curs)
 }
 
 static int
-dac4xxmove(VGAscr* scr, Point p)
+dac4xxmove(VGAscr *scr, Point p)
 {
-	int 		x, y;
-	uchar *	dac4xx;
+	int x, y;
+	uchar *dac4xx;
 
 	if(scr->mmio == 0)
 		return 1;
@@ -262,10 +256,10 @@ dac4xxmove(VGAscr* scr, Point p)
 }
 
 static void
-dac4xxenable(VGAscr* scr)
+dac4xxenable(VGAscr *scr)
 {
-	uchar *	dac4xx;
-	ulong	storage;
+	uchar *dac4xx;
+	ulong storage;
 	
 	if(scr->mmio == 0)
 		return;
@@ -273,7 +267,7 @@ dac4xxenable(VGAscr* scr)
 
 	dac4xxdisable(scr);
 
-	storage = (scr->apsize - 4096) & ~0x3ff;
+	storage = (scr->apsize-4096)&~0x3ff;
 
 	*(dac4xx+Index) = Icuradrl;
 	*(dac4xx+Data) = 0xff & (storage >> 10);
@@ -319,11 +313,11 @@ dac4xxenable(VGAscr* scr)
 }
 
 static void
-mga4xxblank(VGAscr* scr, int blank)
+mga4xxblank(VGAscr *scr, int blank)
 {
-	char * 	cp;
-	uchar * 	mga;
-	uchar 	seq1, crtcext1;
+	char *cp;
+	uchar *mga;
+	uchar seq1, crtcext1;
 	
 	/* blank = 0 -> turn screen on */
 	/* blank = 1 -> turn screen off */
@@ -332,21 +326,20 @@ mga4xxblank(VGAscr* scr, int blank)
 		return;
 	mga = (uchar*)scr->mmio;	
 
-	if (blank == 0) {
+	if(blank == 0){
 		seq1 = 0x00;
 		crtcext1 = 0x00;
 	} else {
 		seq1 = 0x20;
 		crtcext1 = 0x10;			/* Default value ... : standby */
 		cp = getconf("*dpms");
-		if (cp) {
-			if (cistrcmp(cp, "standby") == 0) {
+		if(cp){
+			if(cistrcmp(cp, "standby") == 0)
 				crtcext1 = 0x10;
-			} else if (cistrcmp(cp, "suspend") == 0) {
+			else if(cistrcmp(cp, "suspend") == 0)
 				crtcext1 = 0x20;
-			} else if (cistrcmp(cp, "off") == 0) {
+			else if(cistrcmp(cp, "off") == 0)
 				crtcext1 = 0x30;
-			}
 		}
 	}
 
@@ -360,148 +353,119 @@ mga4xxblank(VGAscr* scr, int blank)
 }
 
 static void
-mgawrite32(uchar * mga, ulong reg, ulong val)
+mgawrite32(uchar *mga, ulong reg, ulong val)
 {
-	ulong *	l;
-
-	l = (ulong *)(&mga[reg]);
-	l[0] = val;
+	*((ulong*)(&mga[reg])) = val;
 }
 
 static ulong
-mgaread32(uchar * mga, ulong reg)
+mgaread32(uchar *mga, ulong reg)
+{
+	return *((ulong*)(&mga[reg]));
+}
+
+static void
+mga_fifo(uchar *mga, uchar n)
 {
-	return *((ulong *)(&mga[reg]));
+	ulong t;
+
+#define Timeout 100
+	for (t = 0; t < Timeout; t++)
+		if ((mgaread32(mga, FIFOSTATUS) & 0xff) >= n)
+			break;
+	if (t >= Timeout)
+		print("mga4xx: fifo timeout");
 }
 
 static int
-mga4xxfill(VGAscr* scr, Rectangle r, ulong color)
+mga4xxfill(VGAscr *scr, Rectangle r, ulong color)
 {
-	uchar * 		mga;
- 
-	/* Constant Shaded Trapezoids / Rectangle Fills */
+	uchar *mga;
+
 	if(scr->mmio == 0)
 		return 0;
 	mga = (uchar*)scr->mmio;
 
+	mga_fifo(mga, 7);
 	mgawrite32(mga, DWGCTL, 0);
 	mgawrite32(mga, FCOL, color);
-	mgawrite32(mga, FXRIGHT, r.max.x);
 	mgawrite32(mga, FXLEFT, r.min.x);
+	mgawrite32(mga, FXRIGHT, r.max.x);
 	mgawrite32(mga, YDST, r.min.y);
 	mgawrite32(mga, YLEN, Dy(r));
 	mgawrite32(mga, DWGCTL + GO, FILL_OPERAND);
 
-	while (mgaread32(mga, STATUS) & 0x00010000)
+	while(mgaread32(mga, STATUS) & 0x00010000)
 		;
+
 	return 1;
 }
 
-#define mga_fifo(n)	do {} while ((mgaread32(mga, FIFOSTATUS) & 0xFF) < (n))
-
 static int
-mga4xxscroll(VGAscr* scr, Rectangle r_dst, Rectangle r_src)
+mga4xxscroll(VGAscr *scr, Rectangle dr, Rectangle sr)
 {
-	uchar * 	mga;
-	ulong	pitch, y;
- 	ulong 	width, height, start, end, scandir;
-	int 		ydir;
+	uchar * mga;
+	int pitch;
+ 	int width, height;
+	ulong start, end, sgn;
+	Point sp, dp;
  
-	/* Two-operand Bitblts */
 	if(scr->mmio == 0)
 		return 0;
-
 	mga = (uchar*)scr->mmio;
 
-	pitch = Dx(scr->gscreen->r);
-
-	mgawrite32(mga, DWGCTL, 0);
-
- 	scandir 	= 0;
+	assert(Dx(sr) == Dx(dr) && Dy(sr) == Dy(dr));
 
-	height 	= abs(Dy(r_src));
-	width 	= abs(Dx(r_src));
-
-	assert(height == abs(Dy(r_dst)));
-	assert(width == abs(Dx(r_dst)));
-
-	if ((r_src.min.y == r_dst.min.y) && (r_src.min.x == r_dst.min.x))
-	{
-		if (0) 
-			print("move x,y to x,y !\n");
+	sp = sr.min;
+	dp = dr.min;
+	if(eqpt(sp, dp))
 		return 1;
-	}
 
-	ydir = 1;
-	if (r_dst.min.y > r_src.min.y)
-	{
-		if (0) 
-			print("ydir = -1\n");
-		ydir = -1;
-		scandir |= 4;	// Blit UP
-	}
-
-	if (r_dst.min.x > r_src.min.x)
-	{
-		if (0) 
-			print("xdir = -1\n");
-		scandir |= 1;	// Blit Left
+	pitch = Dx(scr->gscreen->r);
+	width = Dx(sr);
+	height = Dy(sr);
+	sgn = 0;
+
+	if(dp.y > sp.y && dp.y < sp.y + height){
+		sp.y += height - 1;
+		dp.y += height - 1;
+		sgn |= SGN_UP;
 	}
 
-	mga_fifo(4);
-	if (scandir)
-	{
- 		mgawrite32(mga, DWGCTL, DWG_BITBLT | DWG_SHIFTZERO | 
-			DWG_SGNZERO | DWG_BFCOL | DWG_REPLACE);
-		mgawrite32(mga, SGN, scandir);
-	} else
-	{
-		mgawrite32(mga, DWGCTL, DWG_BITBLT | DWG_SHIFTZERO | 
-			DWG_BFCOL | DWG_REPLACE);
- 	}
-	mgawrite32(mga, AR5, ydir * pitch);
-
 	width--;
-	start = end = r_src.min.x + (r_src.min.y * pitch);
-	if ((scandir & 1) == 1)
-	{
-		start += width;
-	} else
-	{
-		end += width;
-	}
+	start = end = sp.x + (sp.y * pitch);
 
-	y = r_dst.min.y;
-	if ((scandir & 4) == 4)
-	{
-		start += (height - 1) * pitch;
-		end += (height - 1) * pitch;
-		y += (height - 1);
+	if(dp.x > sp.x && dp.x < sp.x + width){
+		start += width;
+		sgn |= SGN_LEFT;
 	}
+	else
+		end += width;
 
-	mga_fifo(4);
+	mga_fifo(mga, 8);
+	mgawrite32(mga, DWGCTL, 0);
+	mgawrite32(mga, SGN, sgn);
+	mgawrite32(mga, AR5, sgn & SGN_UP ? -pitch : pitch);
 	mgawrite32(mga, AR0, end);
 	mgawrite32(mga, AR3, start);
-	mgawrite32(mga, FXBNDRY, ((r_dst.min.x+width)<<16) | r_dst.min.x);
-	mgawrite32(mga, YDSTLEN + GO, (y << 16) | height);
- 
-	if (1)
-	{
-		while (mgaread32(mga, STATUS) & 0x00010000)
-			;
-	}
+	mgawrite32(mga, FXBNDRY, ((dp.x + width) << 16) | dp.x);
+	mgawrite32(mga, YDSTLEN, (dp.y << 16) | height);
+	mgawrite32(mga, DWGCTL + GO, DWG_BITBLT | DWG_SHIFTZERO | DWG_BFCOL | DWG_REPLACE);
+
+	while(mgaread32(mga, STATUS) & 0x00010000)
+		;
 
 	return 1;
 }
 
 static void
-mga4xxdrawinit(VGAscr* scr)
+mga4xxdrawinit(VGAscr *scr)
 {
-	uchar * 	mga;
- 	Pcidev*	p;
+	uchar *mga;
+ 	Pcidev *p;
 
 	p = pcimatch(nil, MATROX, MGA4xx);
-	if (p == nil)
+	if(p == nil)
 		return ;
 
 	if(scr->mmio == 0)
@@ -517,7 +481,7 @@ mga4xxdrawinit(VGAscr* scr)
 	mgawrite32(mga, YTOP, 0);
 	mgawrite32(mga, YBOT, 0x01FFFFFF);
 	mgawrite32(mga, PITCH, Dx(scr->gscreen->r) & ((1 << 13) - 1));
-	switch(scr->gscreen->depth) {
+	switch(scr->gscreen->depth){
 	case 8:
 		mgawrite32(mga, MACCESS, 0);
 		break;
@@ -534,7 +498,6 @@ mga4xxdrawinit(VGAscr* scr)
 
 VGAdev vgamga4xxdev = {
 	"mga4xx",
-
 	mga4xxenable,		/* enable */
 	0,					/* disable */
 	0,					/* page */

+ 10 - 4
sys/src/9/port/devcons.c

@@ -393,13 +393,16 @@ echoserialoq(char *buf, int n)
 		qiwrite(serialoq, ebuf, p - ebuf);
 }
 
-void
+static void
 echo(char *buf, int n)
 {
 	static int ctrlt, pid;
 	int x;
 	char *e, *p;
 
+	if(n == 0)
+		return;
+
 	e = buf+n;
 	for(p = buf; p < e; p++){
 		switch(*p){
@@ -548,8 +551,10 @@ kbdputcclock(void)
 			echo(kbd.ir, kbd.ie-kbd.ir);
 			kbd.ir = kbd.istage;
 		}
-		echo(kbd.ir, iw-kbd.ir);
-		kbd.ir = iw;
+		if(kbd.ir != iw){
+			echo(kbd.ir, iw-kbd.ir);
+			kbd.ir = iw;
+		}
 	}
 }
 
@@ -745,7 +750,8 @@ consread(Chan *c, void *buf, long n, vlong off)
 			nexterror();
 		}
 		while(!qcanread(lineq)){
-			qread(kbdq, &ch, 1);
+			if(qread(kbdq, &ch, 1) == 0)
+				continue;
 			send = 0;
 			if(ch == 0){
 				/* flush output on rawoff -> rawon */

+ 1 - 1
sys/src/9/port/devsd.c

@@ -506,7 +506,7 @@ sdgen(Chan* c, char*, Dirtab*, int, int s, Dir* dp)
 		}
 		
 		if((sdev = sdgetdev(DEV(c->qid))) == nil){
-			devdir(c, q, "unavailable", 0, eve, 0, dp);
+			devdir(c, c->qid, "unavailable", 0, eve, 0, dp);
 			return 1;
 		}
 

+ 12 - 8
sys/src/ape/lib/ap/plan9/uname.c

@@ -1,23 +1,27 @@
 #include <stdlib.h>
+#include <string.h>
 #include <sys/utsname.h>
 
 int
 uname(struct utsname *n)
 {
-	n->sysname = "Plan9";
+	char *osname;
+	
+	n->sysname = getenv("osname");
+	if(!n->sysname)
+		osname = "Plan9";
 	n->nodename = getenv("sysname");
 	if(!n->nodename){
 		n->nodename = getenv("site");
 		if(!n->nodename)
 			n->nodename = "?";
 	}
-	n->release = "1";
+	n->release = "4";			/* edition */
 	n->version = "0";
-	n->machine = getenv("terminal");
-	if(!n->machine){
-		n->machine = getenv("cputype");
-		if(!n->machine)
-			n->machine = "?";
-	}
+	n->machine = getenv("cputype");
+	if(!n->machine)
+		n->machine = "?";
+	if(strcmp(n->machine, "386") == 0)
+		n->machine = "i386";		/* for gnu configure */
 	return 0;
 }

+ 1 - 0
sys/src/cmd/aquarela/smbbuffer.c

@@ -401,6 +401,7 @@ smbbuffergetv(SmbBuffer *b, vlong *vp)
 		b->rn += 8;
 		return 1;
 	}
+	return 0;
 }
 
 ulong

+ 1 - 1
sys/src/cmd/auth/secureidcheck.c

@@ -188,7 +188,7 @@ rpc(char *dest, Secret *shared, Packet *req)
 	b += 16;
 	a = &resp->first;
 	a->type = 0;
-	while(1){
+	for(;;){
 		if(b >= e){
 			a->next = nil;
 			break;			// exit loop

+ 1 - 0
sys/src/cmd/aux/acidleak.c

@@ -102,6 +102,7 @@ finddata(ulong addr)
 	}
 	if(0 <= lo && lo < ndata)
 		return &data[lo];
+	return nil;
 }
 
 int nmark;

+ 0 - 1
sys/src/cmd/aux/disksim.c

@@ -430,7 +430,6 @@ rdwrpart(Req *r)
 			dirty(offset, blk);
 		tot += n;
 	}
-next:
 	/* full and right fringe blocks */
 	while(tot < count){
 		blk = getblock(offset+tot, r->ifcall.type==Twrite && nonzero);

+ 1 - 1
sys/src/cmd/aux/msexceltables.c

@@ -467,7 +467,7 @@ gstr(Biff *b, int len_width)
 		ap = gint(b, 4);
 	else
 		ap = 0;
-	while (1){
+	for(;;){
 		w = (opt & Unicode)? sizeof(Rune): sizeof(char);
 
 		while(b->len > 0){

+ 1 - 0
sys/src/cmd/cdfs/mmc.c

@@ -561,6 +561,7 @@ mmcsetbs(Drive *drive, int bs)
 
 	if(mmcsetpage(drive, 0x05, p) < 0)
 		return -1;
+	return 0;
 }
 
 static long

+ 2 - 1
sys/src/cmd/ext2srv/iobuf.c

@@ -137,12 +137,13 @@ xread(Xfs *dev, Iobuf *p, long addr)
 	/*chat("xread %d,%d...", dev->dev, addr);*/
 
 	seek(dev->dev, (vlong)addr*dev->block_size, 0);
-	if( read(dev->dev, p->iobuf, dev->block_size) != dev->block_size){
+	if(read(dev->dev, p->iobuf, dev->block_size) != dev->block_size){
 		chat("xread %d, block=%d failed ...", dev->dev, addr);
 		errno = Eio;
 		return -1;
 	}
 	/*chat("xread ok...");*/
+	return 0;
 }
 void 
 xwrite(Iobuf *p)

+ 1 - 3
sys/src/cmd/ip/dhcpd/db.c

@@ -111,9 +111,7 @@ lockopen(char *file)
 				return fd;
 		}
 	}
-	if(tries >= 5)
-		return -1;
-
+	return -1;
 }
 
 void

+ 2 - 0
sys/src/cmd/tcs/conv.h

@@ -13,6 +13,8 @@ void uksc_in(int fd, long *notused, struct convert *out);
 void uksc_out(Rune *base, int n, long *notused);
 void html_in(int fd, long *notused, struct convert *out);
 void html_out(Rune *base, int n, long *notused);
+void tune_in(int fd, long *notused, struct convert *out);
+void tune_out(Rune *base, int n, long *notused);
 
 #define		emit(x)		*(*r)++ = (x)
 #define		NRUNE		65536

+ 1 - 0
sys/src/cmd/tcs/conv_big5.c

@@ -110,6 +110,7 @@ big5_in(int fd, long *notused, struct convert *out)
 	big5proc(-1, &r, nin);
 	if(r > ob)
 		OUT(out, ob, r-ob);
+	OUT(out, ob, 0);
 }
 
 void

+ 1 - 0
sys/src/cmd/tcs/conv_gb.c

@@ -88,6 +88,7 @@ gb_in(int fd, long *notused, struct convert *out)
 	gbproc(-1, &r, nin);
 	if(r > ob)
 		OUT(out, ob, r-ob);
+	OUT(out, ob, 0);
 }
 
 void

+ 1 - 0
sys/src/cmd/tcs/conv_jis.c

@@ -363,6 +363,7 @@ do_in(int fd, void (*procfn)(int, Rune **, long), struct convert *out)
 	(*procfn)(-1, &r, nin);
 	if(r > ob)
 		OUT(out, ob, r-ob);
+	OUT(out, ob, 0);
 }
 
 void

+ 1 - 0
sys/src/cmd/tcs/conv_ksc.c

@@ -109,6 +109,7 @@ uksc_in(int fd, long *notused, struct convert *out)
 	ukscproc(-1, &r, nin);
 	if(r > ob)
 		OUT(out, ob, r-ob);
+	OUT(out, ob, 0);
 }
 
 void

+ 1 - 0
sys/src/cmd/tcs/html.c

@@ -424,6 +424,7 @@ html_in(int fd, long *x, struct convert *out)
 	}
 	if(r > rbuf)
 		OUT(out, rbuf, r-rbuf);
+	OUT(out, rbuf, 0);
 }
 
 /*

+ 2 - 1
sys/src/cmd/tcs/mkfile

@@ -11,7 +11,8 @@ OFILES=tcs.$O\
 	kuten208.$O\
 	gb.$O\
 	ksc.$O\
-	big5.$O
+	big5.$O\
+	tune.$O
 
 BIN=/$objtype/bin
 </sys/src/cmd/mkone

+ 4 - 0
sys/src/cmd/tcs/tcs.c

@@ -225,6 +225,7 @@ unicode_in(int fd, long *notused, struct convert *out)
 			swab2((char *)buf, n);
 		OUT(out, buf, n/2);
 	}
+	OUT(out, buf, 0);
 }
 
 void
@@ -270,6 +271,7 @@ intable(int fd, long *table, struct convert *out)
 		}
 		OUT(out, runes, r-runes);
 	}
+	OUT(out, runes, 0);
 	if(n < 0){
 #ifdef	PLAN9
 		EPR "%s: input read: %r\n", argv0);
@@ -448,6 +450,8 @@ struct convert convert[] =
 	{ "sf1", "ISO-646: Finnish/Swedish SF-1 variant", Table, (void *)tabsf1 },
 	{ "sf2", "ISO-646: Finnish/Swedish SF-2 variant (recommended)", Table, (void *)tabsf2 },
 	{ "tis", "Thai+ASCII (TIS 620-1986)", Table, (void *)tabtis620 },
+ 	{ "tune", "TUNE (Tamil)", From|Func, 0, (Fnptr)tune_in },
+ 	{ "tune", "TUNE (Tamil)", Func, 0, (Fnptr)tune_out },
 	{ "ucode", "Russian U-code", Table, (void *)tabucode },
 	{ "ujis", "EUC-JX: JIS 0208", From|Func, 0, (Fnptr)ujis_in },
 	{ "ujis", "EUC-JX: JIS 0208", Func, 0, (Fnptr)ujis_out },

+ 309 - 0
sys/src/cmd/tcs/tune.c

@@ -0,0 +1,309 @@
+#include <u.h>
+#include <libc.h>
+#include <bio.h>
+#include "hdr.h"
+#include "conv.h"
+
+typedef struct Tmap Tmap;
+struct Tmap
+{
+	Rune u;
+	Rune t;
+};
+
+static Tmap t1[] =
+{
+	{0x0b85/*அ*/, 0xe201/**/},
+	{0x0b86/*ஆ*/, 0xe202/**/},
+	{0x0b87/*இ*/, 0xe203/**/},
+	{0x0b88/*ஈ*/, 0xe204/**/},
+	{0x0b89/*உ*/, 0xe205/**/},
+	{0x0b8a/*ஊ*/, 0xe206/**/},
+	{0x0b8e/*எ*/, 0xe207/**/},
+	{0x0b8f/*ஏ*/, 0xe208/**/},
+	{0x0b90/*ஐ*/, 0xe209/**/},
+	{0x0b92/*ஒ*/, 0xe20a/**/},
+	{0x0b93/*ஓ*/, 0xe20b/**/},
+	{0x0b94/*ஔ*/, 0xe20c/**/},
+	{0x0b83/*ஃ*/, 0xe20d/**/}
+};
+
+static Rune t2[] =
+{
+	0x0bcd/*்*/, 
+	0x0bcd/*்*/,	// filler
+	0x0bbe/*ா*/,
+	0x0bbf/*ி*/,
+	0x0bc0/*ீ*/,
+	0x0bc1/*ு*/,
+	0x0bc2/*ூ*/,
+	0x0bc6/*ெ*/,
+	0x0bc7/*ே*/,
+	0x0bc8/*ை*/,
+	0x0bca/*ொ*/,
+	0x0bcb/*ோ*/,
+	0x0bcc/*ௌ*/
+};
+
+static Tmap t3[] =
+{
+	{0x0b95/*க*/, 0xe211/**/},
+	{0x0b99/*ங*/, 0xe221/**/},
+	{0x0b9a/*ச*/, 0xe231/**/},
+	{0x0b9c/*ஜ*/, 0xe331/**/},
+	{0x0b9e/*ஞ*/, 0xe241/**/},
+	{0x0b9f/*ட*/, 0xe251/**/},
+	{0x0ba3/*ண*/, 0xe261/**/},
+	{0x0ba4/*த*/, 0xe271/**/},
+	{0x0ba8/*ந*/, 0xe281/**/},
+	{0x0ba9/*ன*/, 0xe321/**/},
+	{0x0baa/*ப*/, 0xe291/**/},
+	{0x0bae/*ம*/, 0xe2a1/**/},
+	{0x0baf/*ய*/, 0xe2b1/**/},
+	{0x0bb0/*ர*/, 0xe2c1/**/},
+	{0x0bb1/*ற*/, 0xe311/**/},
+	{0x0bb2/*ல*/, 0xe2d1/**/},
+	{0x0bb3/*ள*/, 0xe301/**/},
+	{0x0bb4/*ழ*/, 0xe2f1/**/},
+	{0x0bb5/*வ*/, 0xe2e1/**/},
+ 	{0x0bb6/*ஶ*/, 0xe341/**/},
+	{0x0bb7/*ஷ*/, 0xe351/**/},
+	{0x0bb8/*ஸ*/, 0xe361/**/},
+	{0x0bb9/*ஹ*/, 0xe371/**/}
+};
+
+static Rune
+findbytune(Tmap *tab, int size, Rune t)
+{
+	int i;
+
+	for(i = 0; i < size; i++)
+		if(tab[i].t == t)
+			return tab[i].u;
+	return Runeerror;
+}
+
+static Rune
+findbyuni(Tmap *tab, int size, Rune u)
+{
+	int i;
+
+	for(i = 0; i < size; i++)
+		if(tab[i].u == u)
+			return tab[i].t;
+	return Runeerror;
+}
+
+static int
+findindex(Rune *rstr, int size, Rune r)
+{
+	int i;
+
+	for(i = 0; i < size; i++)
+		if(rstr[i] == r)
+			return i;
+	return -1;
+}
+
+void
+tune_in(int fd, long *x, struct convert *out)
+{
+	Biobuf b;
+	Rune rbuf[N];
+	Rune *r, *er, tr;
+	int c, i;
+	
+	USED(x);
+	r = rbuf;
+	er = rbuf+N-3;
+	Binit(&b, fd, OREAD);
+	while((c = Bgetrune(&b)) != Beof){
+		ninput += b.runesize;
+		if(r >= er){
+			OUT(out, rbuf, r-rbuf);
+			r = rbuf;
+		}
+		if(c>=0xe210/**/ && c <= 0xe38c/**/ && (i = c%16) < nelem(t2)){
+			if(c >= 0xe380/**/){
+				*r++ = 0x0b95/*க*/;
+				*r++ = 0x0bcd/*்*/;
+				*r++ = 0x0bb7/*ஷ*/;
+			}else
+				*r++ = findbytune(t3, nelem(t3), c-i+1);
+			if(i != 1)
+				*r++ = t2[i];
+		}else if((tr = findbytune(t1, nelem(t1), c)) != Runeerror)
+			*r++ = tr;
+		else switch(c){
+			case 0xe3d0/**/:
+				*r++ = 0x0ba3/*ண*/; *r++ = 0x0bbe/*ா*/;
+				break;
+			case 0xe3d1/**/:
+				*r++ = 0x0bb1/*ற*/; *r++ = 0x0bbe/*ா*/;
+				break;
+			case 0xe3d2/**/:
+				*r++ = 0x0ba9/*ன*/; *r++ = 0x0bbe/*ா*/;
+				break;
+			case 0xe3d4/**/:
+				*r++ = 0x0ba3/*ண*/; *r++ = 0x0bc8/*ை*/;
+				break;
+			case 0xe3d5/**/:
+				*r++ = 0x0bb2/*ல*/; *r++ = 0x0bc8/*ை*/;
+				break;
+			case 0xe3d6/**/:
+				*r++ = 0x0bb3/*ள*/; *r++ = 0x0bc8/*ை*/;
+				break;
+			case 0xe3d7/**/:
+				*r++ = 0x0ba9/*ன*/; *r++ = 0x0bc8/*ை*/;
+				break;
+			case 0xe38d/**/:
+				*r++ = 0x0bb6/*ஶ*/; *r++ = 0x0bcd/*்*/; *r++ = 0x0bb0/*ர*/; *r++ = 0x0bc0/*ீ*/;
+				break;
+			default: 
+				if(c >= 0xe200 && c <= 0xe3ff){
+					if(squawk)
+						EPR "%s: rune 0x%x not in output cs\n", argv0, c);
+					nerrors++;
+					if(clean)
+						break;
+					c = BADMAP;
+				}
+				*r++ = c;
+				break;
+		}
+	}
+	if(r > rbuf)
+		OUT(out, rbuf, r-rbuf);
+	OUT(out, rbuf, 0);
+}
+
+void
+tune_out(Rune *r, int n, long *x)
+{
+	static enum { state0, state1, state2, state3, state4, state5, state6, state7 } state = state0;
+	static Rune lastr;
+	Rune *er, tr, rr;
+	char *p;
+	int i;
+
+	USED(x);
+	nrunes += n;
+	er = r+n;
+	for(p = obuf; r < er; r++){
+		switch(state){
+		case state0:
+		casestate0:
+			if((tr = findbyuni(t3, nelem(t3), *r)) != Runeerror){
+				lastr = tr;
+				state = state1;
+			}else if(*r == 0x0b92/*ஒ*/){
+				lastr = 0xe20a/**/;
+				state = state3;
+			}else if((tr = findbyuni(t1, nelem(t1), *r)) != Runeerror)
+				p += runetochar(p, &tr);
+			else
+				p += runetochar(p, r);
+			break;
+		case state1:
+		casestate1:
+			if((i = findindex(t2, nelem(t2), *r)) != -1){
+				if(lastr && lastr != Runeerror)
+					lastr += i-1;
+				if(*r ==0x0bc6/*ெ*/)
+					state = state5;
+				else if(*r ==0x0bc7/*ே*/)
+					state = state4;
+				else if(lastr == 0xe210/**/)
+					state = state2;
+				else if(lastr == 0xe340/**/)
+					state = state6;
+				else{
+					if(lastr)
+						p += runetochar(p, &lastr);
+					state = state0;
+				}
+			}else if(lastr && lastr != Runeerror && (*r == 0x00b2/*²*/ || *r == 0x00b3/*³*/ || *r == 0x2074/*⁴*/)){
+				if(squawk)
+					EPR( "%s: character <U+%04X, U+%04X> not in output cs\n", argv0, lastr, *r);
+				lastr = clean ? 0 : Runeerror;
+				nerrors++;
+			}else{
+				if(lastr)
+					p += runetochar(p, &lastr);
+				state = state0;
+				goto casestate0;
+			}
+			break;
+		case state2:
+			if(*r == 0x0bb7/*ஷ*/){
+				lastr = 0xe381/**/;
+				state = state1;
+				break;
+			}
+			p += runetochar(p, &lastr);
+			state = state0;
+			goto casestate0;
+		case state3:
+			state = state0;
+			if(*r == 0x0bd7/*ௗ*/){
+				rr = 0xe20c/**/;
+				p += runetochar(p, &rr);
+				break;
+			}
+			p += runetochar(p, &lastr);
+			goto casestate0;
+		case state4:
+			state = state0;
+			if(*r == 0x0bbe/*ா*/){
+				if(lastr){
+					if(lastr != Runeerror)
+						lastr += 3;
+					p += runetochar(p, &lastr);
+				}
+				break;
+			}
+			if(lastr)
+				p += runetochar(p, &lastr);
+			goto casestate0;
+		case state5:
+			state = state0;
+			if(*r == 0x0bbe/*ா*/ || *r == 0x0bd7/*ௗ*/){
+				if(lastr){
+					if(lastr != Runeerror)
+						lastr += *r == 0x0bbe/*ா*/ ? 3 : 5;
+					p += runetochar(p, &lastr);
+				}
+				break;
+			}
+			if(lastr)
+				p += runetochar(p, &lastr);
+			goto casestate0;
+		case state6:
+			if(*r == 0x0bb0/*ர*/){
+				state = state7;
+				break;
+			}
+			p += runetochar(p, &lastr);
+			state = state0;
+			goto casestate0;
+		case state7:
+			if(*r == 0x0bc0/*ீ*/){
+				rr = 0xe38d/**/;
+				p += runetochar(p, &rr);
+				state = state0;
+				break;
+			}
+			p += runetochar(p, &lastr);
+			lastr = 0xe2c1/**/;
+			state = state1;
+			goto casestate1;
+		}
+	}
+	if(n == 0 && state != state0){
+		if(lastr)
+			p += runetochar(p, &lastr);
+		state = state0;
+	}
+	noutput += p-obuf;
+	write(1, obuf, p-obuf);
+}

+ 3 - 1
sys/src/cmd/tcs/utf.c

@@ -37,7 +37,7 @@ utf_in(int fd, long *notused, struct convert *out)
 	tot = 0;
 	while((n = read(fd, buf+tot, N-tot)) >= 0){
 		tot += n;
-		for(i=j=0; i<tot; ){
+		for(i=j=0; i<tot-UTFmax || (n==0 && i<tot); ){
 			c = our_mbtowc(&l, buf+i, tot-i);
 			if(c == -1){
 				if(squawk)
@@ -61,6 +61,7 @@ utf_in(int fd, long *notused, struct convert *out)
 		if(n == 0)
 			break;
 	}
+	OUT(out, runes, 0);
 }
 
 void
@@ -112,6 +113,7 @@ isoutf_in(int fd, long *notused, struct convert *out)
 		if(n == 0)
 			break;
 	}
+	OUT(out, runes, 0);
 }
 
 void

+ 1 - 1
sys/src/cmd/trace.c

@@ -613,7 +613,7 @@ drawtrace(void)
 	paused = 0;
 	scaleno = 7;	/* 100 milliseconds */
 	now = nsec();
-	while(1) {
+	for(;;) {
 		Alt a[] = {
 			{ mousectl->c,			nil,		CHANRCV		},
 			{ mousectl->resizec,	nil,		CHANRCV		},

+ 1 - 0
sys/src/cmd/upas/send/message.c

@@ -118,6 +118,7 @@ getaddr(Node *p)
 	for(; p; p = p->next)
 		if(p->s && p->addr)
 			return s_copy(s_to_c(p->s));
+	return nil;
 }
 
 /* get the text of a header line minus the field name */

+ 1 - 0
sys/src/cmd/upas/smtp/smtpd.y

@@ -296,6 +296,7 @@ cat(YYSTYPE *y1, YYSTYPE *y2, YYSTYPE *y3, YYSTYPE *y4, YYSTYPE *y5, YYSTYPE *y6
 		}
 	} else
 		return rv;
+	return rv;
 }
 
 void

+ 0 - 1
sys/src/libString/s_getline.c

@@ -68,5 +68,4 @@ s_getline(Biobuf *fp, String *to)
 		}
 		c = Bgetc(fp);
 	}
-	return 0;
 }

+ 23 - 20
sys/src/libmach/5db.c

@@ -475,22 +475,23 @@ armcondpass(Map *map, Rgetter rget, uchar cond)
 	v = (psr >> 28) & 1;
 
 	switch(cond) {
-		case 0:		return z;
-		case 1:		return !z;
-		case 2:		return c;
-		case 3:		return !c;
-		case 4:		return n;
-		case 5:		return !n;
-		case 6:		return v;
-		case 7:		return !v;
-		case 8:		return c && !z;
-		case 9:		return !c || z;
-		case 10:	return n == v;
-		case 11:	return n != v;
-		case 12:	return !z && (n == v);
-		case 13:	return z && (n != v);
-		case 14:	return 1;
-		case 15:	return 0;
+	default:
+	case 0:		return z;
+	case 1:		return !z;
+	case 2:		return c;
+	case 3:		return !c;
+	case 4:		return n;
+	case 5:		return !n;
+	case 6:		return v;
+	case 7:		return !v;
+	case 8:		return c && !z;
+	case 9:		return !c || z;
+	case 10:	return n == v;
+	case 11:	return n != v;
+	case 12:	return !z && (n == v);
+	case 13:	return z && (n != v);
+	case 14:	return 1;
+	case 15:	return 0;
 	}
 }
 
@@ -510,6 +511,7 @@ armshiftval(Map *map, Rgetter rget, Instr *i)
 		v = rget(map, buf);
 
 		switch((i->w & BITS(4, 6)) >> 4) {
+		default:
 		case 0:					/* LSLIMM */
 			return v << s;
 		case 1:					/* LSLREG */
@@ -586,10 +588,11 @@ armmaddr(Map *map, Rgetter rget, Instr *i)
 	nb = nbits(i->w & ((1 << 15) - 1));
 
 	switch((i->w >> 23) & 3) {
-		case 0: return (v - (nb*4)) + 4;
-		case 1: return v;
-		case 2: return v - (nb*4);
-		case 3: return v + 4;
+	default:
+	case 0: return (v - (nb*4)) + 4;
+	case 1: return v;
+	case 2: return v - (nb*4);
+	case 3: return v + 4;
 	}
 }
 

+ 27 - 27
sys/src/libsec/port/x509.c

@@ -2437,33 +2437,33 @@ tagdump(Tag tag)
 	if(tag.class != Universal)
 		return smprint("class%d,num%d", tag.class, tag.num);
 	switch(tag.num){
-		case BOOLEAN: return "BOOLEAN"; break;
-		case INTEGER: return "INTEGER"; break;
-		case BIT_STRING: return "BIT STRING"; break;
-		case OCTET_STRING: return "OCTET STRING"; break;
-		case NULLTAG: return "NULLTAG"; break;
-		case OBJECT_ID: return "OID"; break;
-		case ObjectDescriptor: return "OBJECT_DES"; break;
-		case EXTERNAL: return "EXTERNAL"; break;
-		case REAL: return "REAL"; break;
-		case ENUMERATED: return "ENUMERATED"; break;
-		case EMBEDDED_PDV: return "EMBEDDED PDV"; break;
-		case SEQUENCE: return "SEQUENCE"; break;
-		case SETOF: return "SETOF"; break;
-		case NumericString: return "NumericString"; break;
-		case PrintableString: return "PrintableString"; break;
-		case TeletexString: return "TeletexString"; break;
-		case VideotexString: return "VideotexString"; break;
-		case IA5String: return "IA5String"; break;
-		case UTCTime: return "UTCTime"; break;
-		case GeneralizedTime: return "GeneralizedTime"; break;
-		case GraphicString: return "GraphicString"; break;
-		case VisibleString: return "VisibleString"; break;
-		case GeneralString: return "GeneralString"; break;
-		case UniversalString: return "UniversalString"; break;
-		case BMPString: return "BMPString"; break;
-		default:
-			return smprint("Universal,num%d", tag.num);
+	case BOOLEAN: return "BOOLEAN";
+	case INTEGER: return "INTEGER";
+	case BIT_STRING: return "BIT STRING";
+	case OCTET_STRING: return "OCTET STRING";
+	case NULLTAG: return "NULLTAG";
+	case OBJECT_ID: return "OID";
+	case ObjectDescriptor: return "OBJECT_DES";
+	case EXTERNAL: return "EXTERNAL";
+	case REAL: return "REAL";
+	case ENUMERATED: return "ENUMERATED";
+	case EMBEDDED_PDV: return "EMBEDDED PDV";
+	case SEQUENCE: return "SEQUENCE";
+	case SETOF: return "SETOF";
+	case NumericString: return "NumericString";
+	case PrintableString: return "PrintableString";
+	case TeletexString: return "TeletexString";
+	case VideotexString: return "VideotexString";
+	case IA5String: return "IA5String";
+	case UTCTime: return "UTCTime";
+	case GeneralizedTime: return "GeneralizedTime";
+	case GraphicString: return "GraphicString";
+	case VisibleString: return "VisibleString";
+	case GeneralString: return "GeneralString";
+	case UniversalString: return "UniversalString";
+	case BMPString: return "BMPString";
+	default:
+		return smprint("Universal,num%d", tag.num);
 	}
 }