Browse Source

Plan 9 from Bell Labs 2007-07-16

David du Colombier 13 years ago
parent
commit
17417d92fd
7 changed files with 419 additions and 379 deletions
  1. 42 48
      dist/replica/_plan9.db
  2. 37 38
      dist/replica/plan9.db
  3. 38 0
      dist/replica/plan9.log
  4. 297 288
      sys/include/html.h
  5. 3 3
      sys/src/9/ip/esp.c
  6. 1 1
      sys/src/9/pc/screen.c
  7. 1 1
      sys/src/ape/lib/ap/mkfile

+ 42 - 48
dist/replica/_plan9.db

@@ -12,7 +12,6 @@
 386/9pcf - 775 sys sys 1179368431 2482812
 386/9pcf.gz - 664 sys sys 1179368434 1072144
 386/9pxeload - 775 sys sys 1181578963 313860
-386/_9pcdisk.gz - 664 sys sys 1039764191 695837
 386/bin - 20000000775 sys sys 1018897690 0
 386/bin/8a - 775 sys sys 1168402260 116604
 386/bin/8c - 775 sys sys 1175913060 366190
@@ -24,16 +23,16 @@
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1173754547 134719
 386/bin/ape/cc - 775 sys sys 1168402263 70642
-386/bin/ape/diff - 775 sys sys 1173754548 352264
-386/bin/ape/diff3 - 775 sys sys 1173754549 190364
+386/bin/ape/diff - 775 sys sys 1184529896 352356
+386/bin/ape/diff3 - 775 sys sys 1184529897 190456
 386/bin/ape/dirname - 775 sys sys 1173754549 134498
 386/bin/ape/expr - 775 sys sys 1173754549 144138
-386/bin/ape/kill - 775 sys sys 1173754550 140067
+386/bin/ape/kill - 775 sys sys 1184529897 140159
 386/bin/ape/make - 775 sys sys 1173754550 211605
-386/bin/ape/patch - 775 sys sys 1173754551 305848
+386/bin/ape/patch - 775 sys sys 1184529898 305940
 386/bin/ape/psh - 775 sys sys 1042220689 34
 386/bin/ape/sed - 775 sys sys 1173754551 160183
-386/bin/ape/sh - 775 sys sys 1173754552 481732
+386/bin/ape/sh - 775 sys sys 1184529899 481824
 386/bin/ape/stty - 775 sys sys 1148500571 41080
 386/bin/ape/tar - 775 sys sys 1168402264 62184
 386/bin/ape/uname - 775 sys sys 1173754552 134895
@@ -186,7 +185,7 @@
 386/bin/col - 775 sys sys 1172029864 64995
 386/bin/colors - 775 sys sys 1179372083 151015
 386/bin/comm - 775 sys sys 1168402296 61586
-386/bin/compress - 775 sys sys 1173754554 166944
+386/bin/compress - 775 sys sys 1184529900 167036
 386/bin/con - 775 sys sys 1168402297 78486
 386/bin/cp - 775 sys sys 1168402297 63454
 386/bin/cpp - 775 sys sys 1178568264 148996
@@ -196,7 +195,7 @@
 386/bin/date - 775 sys sys 1178568265 41845
 386/bin/db - 775 sys sys 1178908092 345933
 386/bin/dc - 775 sys sys 1168402299 99260
-386/bin/dd - 775 sys sys 1159039156 45991
+386/bin/dd - 775 sys sys 1184529900 46002
 386/bin/deroff - 775 sys sys 1168402299 74474
 386/bin/dial - 20000000775 sys sys 1058790015 0
 386/bin/dial/at - 775 sys sys 1168402300 61080
@@ -225,7 +224,7 @@
 386/bin/echo - 775 sys sys 1168402304 57592
 386/bin/ecp - 775 sys sys 1179777651 72588
 386/bin/ed - 775 sys sys 1181507265 93455
-386/bin/eqn - 775 sys sys 1173754555 244858
+386/bin/eqn - 775 sys sys 1184529901 244950
 386/bin/execnet - 775 sys sys 1179548024 176802
 386/bin/exportfs - 775 sys sys 1181507266 161216
 386/bin/ext2srv - 775 sys sys 1179372085 178481
@@ -266,7 +265,7 @@
 386/bin/games/sudoku - 775 sys sys 1179372090 171015
 386/bin/getmap - 775 sys sys 1168402311 65423
 386/bin/gif - 775 sys sys 1179372091 158603
-386/bin/grap - 775 sys sys 1173754557 282722
+386/bin/grap - 775 sys sys 1184529901 282814
 386/bin/graph - 775 sys sys 1168402312 129250
 386/bin/grep - 775 sys sys 1168402312 79569
 386/bin/gs - 775 sys sys 1173754582 13278932
@@ -341,12 +340,12 @@
 386/bin/mug - 775 sys sys 1179372099 176427
 386/bin/mv - 775 sys sys 1168402336 66629
 386/bin/ndb - 20000000775 sys sys 985743147 0
-386/bin/ndb/cs - 775 sys sys 1182283129 149052
+386/bin/ndb/cs - 775 sys sys 1184529902 149014
 386/bin/ndb/csquery - 775 sys sys 1176488418 61652
-386/bin/ndb/dns - 775 sys sys 1183492676 289937
-386/bin/ndb/dnsdebug - 775 sys sys 1183492677 264870
+386/bin/ndb/dns - 775 sys sys 1184529903 291405
+386/bin/ndb/dnsdebug - 775 sys sys 1184529903 266273
 386/bin/ndb/dnsquery - 775 sys sys 1174704818 64417
-386/bin/ndb/dnstcp - 775 sys sys 1183492678 263313
+386/bin/ndb/dnstcp - 775 sys sys 1184529904 264716
 386/bin/ndb/ipquery - 775 sys sys 1178568296 95524
 386/bin/ndb/mkdb - 775 sys sys 1168402340 64211
 386/bin/ndb/mkhash - 775 sys sys 1178568296 83312
@@ -365,7 +364,7 @@
 386/bin/passwd - 775 sys sys 1168402344 84333
 386/bin/pbd - 775 sys sys 1085077087 4661
 386/bin/pcc - 775 sys sys 1168402344 68241
-386/bin/pic - 775 sys sys 1181964075 308633
+386/bin/pic - 775 sys sys 1184529905 308725
 386/bin/pipefile - 775 sys sys 1148500683 39431
 386/bin/plot - 775 sys sys 1179372101 222763
 386/bin/plumb - 775 sys sys 1176520491 69487
@@ -408,7 +407,7 @@
 386/bin/snap - 775 sys sys 1178939753 316147
 386/bin/snapfs - 775 sys sys 1179372105 390366
 386/bin/sniffer - 775 sys sys 1038443185 99028
-386/bin/snoopy - 775 sys sys 1183233472 190012
+386/bin/snoopy - 775 sys sys 1184529905 190044
 386/bin/sort - 775 sys sys 1178568303 81057
 386/bin/spin - 775 sys sys 1176520498 760856
 386/bin/split - 775 sys sys 1181507270 75811
@@ -460,7 +459,7 @@
 386/bin/upas/fs - 775 sys sys 1178568311 331725
 386/bin/upas/isspam - 775 sys sys 1064598349 38
 386/bin/upas/list - 775 sys sys 1181507270 83030
-386/bin/upas/marshal - 775 sys sys 1179113026 132974
+386/bin/upas/marshal - 775 sys sys 1184529906 132936
 386/bin/upas/ml - 775 sys sys 1178568312 122913
 386/bin/upas/mlmgr - 775 sys sys 1178568312 103536
 386/bin/upas/mlowner - 775 sys sys 1177617496 92263
@@ -473,7 +472,7 @@
 386/bin/upas/runq - 775 sys sys 1178568314 112842
 386/bin/upas/scanmail - 775 sys sys 1181507271 128207
 386/bin/upas/send - 775 sys sys 1181507272 192174
-386/bin/upas/smtp - 775 sys sys 1178568316 274783
+386/bin/upas/smtp - 775 sys sys 1184529906 275100
 386/bin/upas/smtpd - 775 sys sys 1181540422 331887
 386/bin/upas/spam - 775 sys sys 1064598366 36
 386/bin/upas/testscan - 775 sys sys 1181507272 83858
@@ -538,7 +537,7 @@
 386/lib - 20000000775 sys sys 1016826328 0
 386/lib/ape - 20000000775 sys sys 1070519112 0
 386/lib/ape/lib9.a - 664 sys sys 1135531447 6906
-386/lib/ape/libap.a - 664 sys sys 1184467169 792928
+386/lib/ape/libap.a - 664 sys sys 1184529908 820226
 386/lib/ape/libbsd.a - 664 sys sys 1184467169 183900
 386/lib/ape/libdraw.a - 664 sys sys 1179372118 622218
 386/lib/ape/libfmt.a - 664 sys sys 1146156980 156706
@@ -547,7 +546,7 @@
 386/lib/ape/libregexp.a - 664 sys sys 1143777857 47500
 386/lib/ape/libutf.a - 664 sys sys 1146156980 88500
 386/lib/ape/libv.a - 664 sys sys 1143777858 19668
-386/lib/lib9p.a - 664 sys sys 1172780592 91012
+386/lib/lib9p.a - 664 sys sys 1184529909 91012
 386/lib/libString.a - 664 sys sys 1168402362 22126
 386/lib/libauth.a - 664 sys sys 1179372118 58864
 386/lib/libauthsrv.a - 664 sys sys 1181621143 35878
@@ -555,13 +554,13 @@
 386/lib/libbio.a - 664 sys sys 1168402363 25980
 386/lib/libc.a - 664 sys sys 1181332906 502352
 386/lib/libcomplete.a - 664 sys sys 1168402364 6372
-386/lib/libcontrol.a - 664 sys sys 1168402365 274388
+386/lib/libcontrol.a - 664 sys sys 1184529909 274388
 386/lib/libdisk.a - 664 sys sys 1168402365 42368
-386/lib/libdraw.a - 664 sys sys 1179372119 375068
+386/lib/libdraw.a - 664 sys sys 1184529910 375068
 386/lib/libflate.a - 664 sys sys 1168402366 76726
-386/lib/libframe.a - 664 sys sys 1168402366 66398
+386/lib/libframe.a - 664 sys sys 1184529910 66398
 386/lib/libgeometry.a - 664 sys sys 1168402366 50470
-386/lib/libhtml.a - 664 sys sys 1176432132 229152
+386/lib/libhtml.a - 664 sys sys 1184529911 229152
 386/lib/libhttpd.a - 664 sys sys 1181332906 99734
 386/lib/libip.a - 664 sys sys 1178826954 34710
 386/lib/libl.a - 664 sys sys 1168402367 5372
@@ -575,8 +574,8 @@
 386/lib/libscribble.a - 664 sys sys 1175972562 107238
 386/lib/libsec.a - 664 sys sys 1181332908 646724
 386/lib/libstdio.a - 664 sys sys 1176432133 126062
-386/lib/libsunrpc.a - 664 sys sys 1178826956 353148
-386/lib/libthread.a - 664 sys sys 1179548041 71932
+386/lib/libsunrpc.a - 664 sys sys 1184529912 353148
+386/lib/libthread.a - 664 sys sys 1184529912 71932
 386/lib/libventi.a - 664 sys sys 1181332909 97858
 386/mbr - 775 sys sys 1131317338 407
 386/mkfile - 664 sys sys 948141303 46
@@ -6068,7 +6067,7 @@ sys/include/bin.h - 664 sys sys 1091904425 239
 sys/include/bio.h - 664 sys sys 1014929062 1854
 sys/include/bootexec.h - 664 sys sys 1089314125 2610
 sys/include/complete.h - 664 sys sys 1076276516 562
-sys/include/control.h - 664 sys sys 1084467622 4844
+sys/include/control.h - 664 sys sys 1184471693 4847
 sys/include/ctype.h - 664 sys sys 1014929062 951
 sys/include/cursor.h - 664 sys sys 1014929062 102
 sys/include/disk.h - 664 sys sys 1138975314 1120
@@ -6078,7 +6077,7 @@ sys/include/fcall.h - 664 sys sys 1137461445 3063
 sys/include/flate.h - 664 sys sys 1014929063 1245
 sys/include/frame.h - 664 sys sys 1147706379 2682
 sys/include/geometry.h - 664 sys sys 1014929063 2632
-sys/include/html.h - 664 sys sys 1128662123 15232
+sys/include/html.h - 664 sys sys 1184472600 15622
 sys/include/httpd.h - 664 sys sys 1177187803 5794
 sys/include/ip.h - 664 sys sys 1178768502 2597
 sys/include/keyboard.h - 664 sys sys 1131637696 865
@@ -6099,7 +6098,7 @@ sys/include/regexp.h - 664 sys sys 1014929066 1308
 sys/include/scribble.h - 664 sys sys 1176432918 715
 sys/include/stdio.h - 664 sys sys 1121977155 4208
 sys/include/sunrpc.h - 664 sys sys 1046367129 7219
-sys/include/thread.h - 664 sys sys 1138463280 3616
+sys/include/thread.h - 664 sys sys 1184471649 3586
 sys/include/tos.h - 664 sys sys 1091904418 575
 sys/include/trace.h - 664 sys sys 1138460022 640
 sys/include/venti.h - 664 sys sys 1091904426 7150
@@ -7957,11 +7956,11 @@ sys/src/9/boot/sac.c - 664 sys sys 1184466374 815
 sys/src/9/boot/settime.c - 664 sys sys 1036813626 2473
 sys/src/9/boot/testboot.c - 664 sys sys 1039763734 496
 sys/src/9/ip - 20000000775 sys sys 1119710004 0
-sys/src/9/ip/arp.c - 664 sys sys 1134042932 11218
+sys/src/9/ip/arp.c - 664 sys sys 1184471153 11234
 sys/src/9/ip/chandial.c - 664 sys sys 1099020048 2295
 sys/src/9/ip/devip.c - 664 sys sys 1161061185 24242
 sys/src/9/ip/eipconvtest.c - 664 sys sys 1022588098 3135
-sys/src/9/ip/esp.c - 664 sys sys 1047260561 17084
+sys/src/9/ip/esp.c - 664 sys sys 1184521732 17108
 sys/src/9/ip/ethermedium.c - 664 sys sys 1184244252 15419
 sys/src/9/ip/gre.c - 664 sys sys 1115566178 5069
 sys/src/9/ip/icmp.c - 664 sys sys 1134390100 9496
@@ -7971,7 +7970,7 @@ sys/src/9/ip/il.c - 664 sys sys 1134498903 27226
 sys/src/9/ip/inferno.c - 664 sys sys 1022588098 517
 sys/src/9/ip/ip.c - 664 sys sys 1176957040 15288
 sys/src/9/ip/ip.h - 664 sys sys 1176957139 15982
-sys/src/9/ip/ipaux.c - 664 sys sys 1079538100 12862
+sys/src/9/ip/ipaux.c - 664 sys sys 1184471278 12873
 sys/src/9/ip/ipifc.c - 664 sys sys 1179700017 34199
 sys/src/9/ip/ipmux.c - 664 sys sys 1179708314 15363
 sys/src/9/ip/iproute.c - 664 sys sys 1168305878 14778
@@ -7984,9 +7983,9 @@ sys/src/9/ip/nullmedium.c - 664 sys sys 1086406910 492
 sys/src/9/ip/pktmedium.c - 664 sys sys 1084331746 1314
 sys/src/9/ip/ptclbsum.c - 664 sys sys 1022588099 1243
 sys/src/9/ip/rudp.c - 664 sys sys 1055700790 21415
-sys/src/9/ip/tcp.c - 664 sys sys 1181238163 65894
+sys/src/9/ip/tcp.c - 664 sys sys 1184471371 65911
 sys/src/9/ip/tripmedium.c - 664 sys sys 1045063515 7136
-sys/src/9/ip/udp.c - 664 sys sys 1178817924 13317
+sys/src/9/ip/udp.c - 664 sys sys 1184471318 13328
 sys/src/9/mkfile - 664 sys sys 1063857477 205
 sys/src/9/mtx - 20000000775 sys sys 1123676466 0
 sys/src/9/mtx/clock.c - 664 sys sys 1032053278 1293
@@ -8027,22 +8026,22 @@ sys/src/9/pc/audio.h - 664 sys sys 1015014513 343
 sys/src/9/pc/bios32.c - 664 sys sys 1173287378 3029
 sys/src/9/pc/cga.c - 664 sys sys 1015014513 1843
 sys/src/9/pc/dat.h - 664 sys sys 1173289271 6917
-sys/src/9/pc/devarch.c - 664 sys sys 1168315311 19342
+sys/src/9/pc/devarch.c - 664 sys sys 1184470975 19350
 sys/src/9/pc/devether.c - 664 sys sys 1178823613 10489
 sys/src/9/pc/devfloppy.c - 664 sys sys 1142958305 20139
 sys/src/9/pc/devi82365.c - 664 sys sys 1146318335 20504
 sys/src/9/pc/devlm78.c - 664 sys sys 1128255048 6291
-sys/src/9/pc/devlml.c - 664 sys sys 1132448361 7502
-sys/src/9/pc/devlml.h - 664 sys sys 1026847636 2948
-sys/src/9/pc/devlpt.c - 664 sys sys 1015014514 4420
-sys/src/9/pc/devpccard.c - 664 sys sys 1173225108 39296
+sys/src/9/pc/devlml.c - 664 sys sys 1184470711 7597
+sys/src/9/pc/devlml.h - 664 sys sys 1184470164 3031
+sys/src/9/pc/devlpt.c - 664 sys sys 1184469951 4423
+sys/src/9/pc/devpccard.c - 664 sys sys 1184469910 39336
 sys/src/9/pc/devrtc.c - 664 sys sys 1015014515 7167
-sys/src/9/pc/devtv.c - 664 sys sys 1131290299 45676
+sys/src/9/pc/devtv.c - 664 sys sys 1184469620 45423
 sys/src/9/pc/devusb.c - 664 sys sys 1168305372 18752
 sys/src/9/pc/devvga.c - 664 sys sys 1181083003 9334
 sys/src/9/pc/dma.c - 664 sys sys 1142966373 5332
 sys/src/9/pc/ether2000.c - 664 sys sys 1173287379 4901
-sys/src/9/pc/ether2114x.c - 664 sys sys 1145359795 41693
+sys/src/9/pc/ether2114x.c - 664 sys sys 1184468570 41707
 sys/src/9/pc/ether589.c - 664 sys sys 1015014516 4644
 sys/src/9/pc/ether79c970.c - 664 sys sys 1160070602 14088
 sys/src/9/pc/ether8003.c - 664 sys sys 1015014516 6665
@@ -8110,7 +8109,7 @@ sys/src/9/pc/ptclbsum386.s - 664 sys sys 1015014521 1493
 sys/src/9/pc/random.c - 664 sys sys 1036812832 2021
 sys/src/9/pc/realmode.c - 664 sys sys 1139667044 2678
 sys/src/9/pc/rebootcode.s - 664 sys sys 1015014522 988
-sys/src/9/pc/screen.c - 664 sys sys 1136336092 13971
+sys/src/9/pc/screen.c - 664 sys sys 1184522395 13973
 sys/src/9/pc/screen.h - 664 sys sys 1147023549 4256
 sys/src/9/pc/sd53c8xx.c - 664 sys sys 1170456695 55276
 sys/src/9/pc/sd53c8xx.n - 664 sys sys 1131290556 12657
@@ -8678,7 +8677,7 @@ sys/src/ape/lib/ap/mips/strcpy.s - 664 sys sys 1014921989 1202
 sys/src/ape/lib/ap/mips/tas.s - 664 sys sys 1014921989 494
 sys/src/ape/lib/ap/mips/vlop.s - 664 sys sys 1014921989 239
 sys/src/ape/lib/ap/mips/vlrt.c - 664 sys sys 1014921989 9001
-sys/src/ape/lib/ap/mkfile - 664 sys sys 1183662148 307
+sys/src/ape/lib/ap/mkfile - 664 sys sys 1184520637 316
 sys/src/ape/lib/ap/plan9 - 20000000775 sys sys 1070660696 0
 sys/src/ape/lib/ap/plan9/9errstr.c - 664 sys sys 1070330880 31
 sys/src/ape/lib/ap/plan9/9iounit.c - 664 sys sys 1070660696 981
@@ -15843,8 +15842,3 @@ usr/glenda/lib/profile - 664 glenda glenda 1105128663 890
 usr/glenda/readme.acme - 664 glenda glenda 1019860628 4753
 usr/glenda/readme.rio - 664 glenda glenda 1019860628 6370
 usr/glenda/tmp - 20000000775 glenda glenda 1018802620 0
-sys/src/9/pc/devlpt.c - 664 sys sys 1184469951 4423
-sys/src/9/pc/devpccard.c - 664 sys sys 1184469910 39336
-sys/src/9/pc/devtv.c - 664 sys sys 1184469620 45423
-sys/src/9/pc/ether2114x.c - 664 sys sys 1184468570 41707
-sys/src/9/pc/devlml.h - 664 sys sys 1184470164 3031

+ 37 - 38
dist/replica/plan9.db

@@ -12,7 +12,6 @@
 386/9pcf - 775 sys sys 1179368431 2482812
 386/9pcf.gz - 664 sys sys 1179368434 1072144
 386/9pxeload - 775 sys sys 1181578963 313860
-386/_9pcdisk.gz - 664 sys sys 1039764191 695837
 386/bin - 20000000775 sys sys 1018897690 0
 386/bin/8a - 775 sys sys 1168402260 116604
 386/bin/8c - 775 sys sys 1175913060 366190
@@ -24,16 +23,16 @@
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1173754547 134719
 386/bin/ape/cc - 775 sys sys 1168402263 70642
-386/bin/ape/diff - 775 sys sys 1173754548 352264
-386/bin/ape/diff3 - 775 sys sys 1173754549 190364
+386/bin/ape/diff - 775 sys sys 1184529896 352356
+386/bin/ape/diff3 - 775 sys sys 1184529897 190456
 386/bin/ape/dirname - 775 sys sys 1173754549 134498
 386/bin/ape/expr - 775 sys sys 1173754549 144138
-386/bin/ape/kill - 775 sys sys 1173754550 140067
+386/bin/ape/kill - 775 sys sys 1184529897 140159
 386/bin/ape/make - 775 sys sys 1173754550 211605
-386/bin/ape/patch - 775 sys sys 1173754551 305848
+386/bin/ape/patch - 775 sys sys 1184529898 305940
 386/bin/ape/psh - 775 sys sys 1042220689 34
 386/bin/ape/sed - 775 sys sys 1173754551 160183
-386/bin/ape/sh - 775 sys sys 1173754552 481732
+386/bin/ape/sh - 775 sys sys 1184529899 481824
 386/bin/ape/stty - 775 sys sys 1148500571 41080
 386/bin/ape/tar - 775 sys sys 1168402264 62184
 386/bin/ape/uname - 775 sys sys 1173754552 134895
@@ -186,7 +185,7 @@
 386/bin/col - 775 sys sys 1172029864 64995
 386/bin/colors - 775 sys sys 1179372083 151015
 386/bin/comm - 775 sys sys 1168402296 61586
-386/bin/compress - 775 sys sys 1173754554 166944
+386/bin/compress - 775 sys sys 1184529900 167036
 386/bin/con - 775 sys sys 1168402297 78486
 386/bin/cp - 775 sys sys 1168402297 63454
 386/bin/cpp - 775 sys sys 1178568264 148996
@@ -196,7 +195,7 @@
 386/bin/date - 775 sys sys 1178568265 41845
 386/bin/db - 775 sys sys 1178908092 345933
 386/bin/dc - 775 sys sys 1168402299 99260
-386/bin/dd - 775 sys sys 1159039156 45991
+386/bin/dd - 775 sys sys 1184529900 46002
 386/bin/deroff - 775 sys sys 1168402299 74474
 386/bin/dial - 20000000775 sys sys 1058790015 0
 386/bin/dial/at - 775 sys sys 1168402300 61080
@@ -225,7 +224,7 @@
 386/bin/echo - 775 sys sys 1168402304 57592
 386/bin/ecp - 775 sys sys 1179777651 72588
 386/bin/ed - 775 sys sys 1181507265 93455
-386/bin/eqn - 775 sys sys 1173754555 244858
+386/bin/eqn - 775 sys sys 1184529901 244950
 386/bin/execnet - 775 sys sys 1179548024 176802
 386/bin/exportfs - 775 sys sys 1181507266 161216
 386/bin/ext2srv - 775 sys sys 1179372085 178481
@@ -266,7 +265,7 @@
 386/bin/games/sudoku - 775 sys sys 1179372090 171015
 386/bin/getmap - 775 sys sys 1168402311 65423
 386/bin/gif - 775 sys sys 1179372091 158603
-386/bin/grap - 775 sys sys 1173754557 282722
+386/bin/grap - 775 sys sys 1184529901 282814
 386/bin/graph - 775 sys sys 1168402312 129250
 386/bin/grep - 775 sys sys 1168402312 79569
 386/bin/gs - 775 sys sys 1173754582 13278932
@@ -341,12 +340,12 @@
 386/bin/mug - 775 sys sys 1179372099 176427
 386/bin/mv - 775 sys sys 1168402336 66629
 386/bin/ndb - 20000000775 sys sys 985743147 0
-386/bin/ndb/cs - 775 sys sys 1182283129 149052
+386/bin/ndb/cs - 775 sys sys 1184529902 149014
 386/bin/ndb/csquery - 775 sys sys 1176488418 61652
-386/bin/ndb/dns - 775 sys sys 1183492676 289937
-386/bin/ndb/dnsdebug - 775 sys sys 1183492677 264870
+386/bin/ndb/dns - 775 sys sys 1184529903 291405
+386/bin/ndb/dnsdebug - 775 sys sys 1184529903 266273
 386/bin/ndb/dnsquery - 775 sys sys 1174704818 64417
-386/bin/ndb/dnstcp - 775 sys sys 1183492678 263313
+386/bin/ndb/dnstcp - 775 sys sys 1184529904 264716
 386/bin/ndb/ipquery - 775 sys sys 1178568296 95524
 386/bin/ndb/mkdb - 775 sys sys 1168402340 64211
 386/bin/ndb/mkhash - 775 sys sys 1178568296 83312
@@ -365,7 +364,7 @@
 386/bin/passwd - 775 sys sys 1168402344 84333
 386/bin/pbd - 775 sys sys 1085077087 4661
 386/bin/pcc - 775 sys sys 1168402344 68241
-386/bin/pic - 775 sys sys 1181964075 308633
+386/bin/pic - 775 sys sys 1184529905 308725
 386/bin/pipefile - 775 sys sys 1148500683 39431
 386/bin/plot - 775 sys sys 1179372101 222763
 386/bin/plumb - 775 sys sys 1176520491 69487
@@ -408,7 +407,7 @@
 386/bin/snap - 775 sys sys 1178939753 316147
 386/bin/snapfs - 775 sys sys 1179372105 390366
 386/bin/sniffer - 775 sys sys 1038443185 99028
-386/bin/snoopy - 775 sys sys 1183233472 190012
+386/bin/snoopy - 775 sys sys 1184529905 190044
 386/bin/sort - 775 sys sys 1178568303 81057
 386/bin/spin - 775 sys sys 1176520498 760856
 386/bin/split - 775 sys sys 1181507270 75811
@@ -460,7 +459,7 @@
 386/bin/upas/fs - 775 sys sys 1178568311 331725
 386/bin/upas/isspam - 775 sys sys 1064598349 38
 386/bin/upas/list - 775 sys sys 1181507270 83030
-386/bin/upas/marshal - 775 sys sys 1179113026 132974
+386/bin/upas/marshal - 775 sys sys 1184529906 132936
 386/bin/upas/ml - 775 sys sys 1178568312 122913
 386/bin/upas/mlmgr - 775 sys sys 1178568312 103536
 386/bin/upas/mlowner - 775 sys sys 1177617496 92263
@@ -473,7 +472,7 @@
 386/bin/upas/runq - 775 sys sys 1178568314 112842
 386/bin/upas/scanmail - 775 sys sys 1181507271 128207
 386/bin/upas/send - 775 sys sys 1181507272 192174
-386/bin/upas/smtp - 775 sys sys 1178568316 274783
+386/bin/upas/smtp - 775 sys sys 1184529906 275100
 386/bin/upas/smtpd - 775 sys sys 1181540422 331887
 386/bin/upas/spam - 775 sys sys 1064598366 36
 386/bin/upas/testscan - 775 sys sys 1181507272 83858
@@ -538,7 +537,7 @@
 386/lib - 20000000775 sys sys 1016826328 0
 386/lib/ape - 20000000775 sys sys 1070519112 0
 386/lib/ape/lib9.a - 664 sys sys 1135531447 6906
-386/lib/ape/libap.a - 664 sys sys 1184467169 792928
+386/lib/ape/libap.a - 664 sys sys 1184529908 820226
 386/lib/ape/libbsd.a - 664 sys sys 1184467169 183900
 386/lib/ape/libdraw.a - 664 sys sys 1179372118 622218
 386/lib/ape/libfmt.a - 664 sys sys 1146156980 156706
@@ -547,7 +546,7 @@
 386/lib/ape/libregexp.a - 664 sys sys 1143777857 47500
 386/lib/ape/libutf.a - 664 sys sys 1146156980 88500
 386/lib/ape/libv.a - 664 sys sys 1143777858 19668
-386/lib/lib9p.a - 664 sys sys 1172780592 91012
+386/lib/lib9p.a - 664 sys sys 1184529909 91012
 386/lib/libString.a - 664 sys sys 1168402362 22126
 386/lib/libauth.a - 664 sys sys 1179372118 58864
 386/lib/libauthsrv.a - 664 sys sys 1181621143 35878
@@ -555,13 +554,13 @@
 386/lib/libbio.a - 664 sys sys 1168402363 25980
 386/lib/libc.a - 664 sys sys 1181332906 502352
 386/lib/libcomplete.a - 664 sys sys 1168402364 6372
-386/lib/libcontrol.a - 664 sys sys 1168402365 274388
+386/lib/libcontrol.a - 664 sys sys 1184529909 274388
 386/lib/libdisk.a - 664 sys sys 1168402365 42368
-386/lib/libdraw.a - 664 sys sys 1179372119 375068
+386/lib/libdraw.a - 664 sys sys 1184529910 375068
 386/lib/libflate.a - 664 sys sys 1168402366 76726
-386/lib/libframe.a - 664 sys sys 1168402366 66398
+386/lib/libframe.a - 664 sys sys 1184529910 66398
 386/lib/libgeometry.a - 664 sys sys 1168402366 50470
-386/lib/libhtml.a - 664 sys sys 1176432132 229152
+386/lib/libhtml.a - 664 sys sys 1184529911 229152
 386/lib/libhttpd.a - 664 sys sys 1181332906 99734
 386/lib/libip.a - 664 sys sys 1178826954 34710
 386/lib/libl.a - 664 sys sys 1168402367 5372
@@ -575,8 +574,8 @@
 386/lib/libscribble.a - 664 sys sys 1175972562 107238
 386/lib/libsec.a - 664 sys sys 1181332908 646724
 386/lib/libstdio.a - 664 sys sys 1176432133 126062
-386/lib/libsunrpc.a - 664 sys sys 1178826956 353148
-386/lib/libthread.a - 664 sys sys 1179548041 71932
+386/lib/libsunrpc.a - 664 sys sys 1184529912 353148
+386/lib/libthread.a - 664 sys sys 1184529912 71932
 386/lib/libventi.a - 664 sys sys 1181332909 97858
 386/mbr - 775 sys sys 1131317338 407
 386/mkfile - 664 sys sys 948141303 46
@@ -6068,7 +6067,7 @@ sys/include/bin.h - 664 sys sys 1091904425 239
 sys/include/bio.h - 664 sys sys 1014929062 1854
 sys/include/bootexec.h - 664 sys sys 1089314125 2610
 sys/include/complete.h - 664 sys sys 1076276516 562
-sys/include/control.h - 664 sys sys 1084467622 4844
+sys/include/control.h - 664 sys sys 1184471693 4847
 sys/include/ctype.h - 664 sys sys 1014929062 951
 sys/include/cursor.h - 664 sys sys 1014929062 102
 sys/include/disk.h - 664 sys sys 1138975314 1120
@@ -6078,7 +6077,7 @@ sys/include/fcall.h - 664 sys sys 1137461445 3063
 sys/include/flate.h - 664 sys sys 1014929063 1245
 sys/include/frame.h - 664 sys sys 1147706379 2682
 sys/include/geometry.h - 664 sys sys 1014929063 2632
-sys/include/html.h - 664 sys sys 1128662123 15232
+sys/include/html.h - 664 sys sys 1184472600 15622
 sys/include/httpd.h - 664 sys sys 1177187803 5794
 sys/include/ip.h - 664 sys sys 1178768502 2597
 sys/include/keyboard.h - 664 sys sys 1131637696 865
@@ -6099,7 +6098,7 @@ sys/include/regexp.h - 664 sys sys 1014929066 1308
 sys/include/scribble.h - 664 sys sys 1176432918 715
 sys/include/stdio.h - 664 sys sys 1121977155 4208
 sys/include/sunrpc.h - 664 sys sys 1046367129 7219
-sys/include/thread.h - 664 sys sys 1138463280 3616
+sys/include/thread.h - 664 sys sys 1184471649 3586
 sys/include/tos.h - 664 sys sys 1091904418 575
 sys/include/trace.h - 664 sys sys 1138460022 640
 sys/include/venti.h - 664 sys sys 1091904426 7150
@@ -7957,11 +7956,11 @@ sys/src/9/boot/sac.c - 664 sys sys 1184466374 815
 sys/src/9/boot/settime.c - 664 sys sys 1036813626 2473
 sys/src/9/boot/testboot.c - 664 sys sys 1039763734 496
 sys/src/9/ip - 20000000775 sys sys 1119710004 0
-sys/src/9/ip/arp.c - 664 sys sys 1134042932 11218
+sys/src/9/ip/arp.c - 664 sys sys 1184471153 11234
 sys/src/9/ip/chandial.c - 664 sys sys 1099020048 2295
 sys/src/9/ip/devip.c - 664 sys sys 1161061185 24242
 sys/src/9/ip/eipconvtest.c - 664 sys sys 1022588098 3135
-sys/src/9/ip/esp.c - 664 sys sys 1047260561 17084
+sys/src/9/ip/esp.c - 664 sys sys 1184521732 17108
 sys/src/9/ip/ethermedium.c - 664 sys sys 1184244252 15419
 sys/src/9/ip/gre.c - 664 sys sys 1115566178 5069
 sys/src/9/ip/icmp.c - 664 sys sys 1134390100 9496
@@ -7971,7 +7970,7 @@ sys/src/9/ip/il.c - 664 sys sys 1134498903 27226
 sys/src/9/ip/inferno.c - 664 sys sys 1022588098 517
 sys/src/9/ip/ip.c - 664 sys sys 1176957040 15288
 sys/src/9/ip/ip.h - 664 sys sys 1176957139 15982
-sys/src/9/ip/ipaux.c - 664 sys sys 1079538100 12862
+sys/src/9/ip/ipaux.c - 664 sys sys 1184471278 12873
 sys/src/9/ip/ipifc.c - 664 sys sys 1179700017 34199
 sys/src/9/ip/ipmux.c - 664 sys sys 1179708314 15363
 sys/src/9/ip/iproute.c - 664 sys sys 1168305878 14778
@@ -7984,9 +7983,9 @@ sys/src/9/ip/nullmedium.c - 664 sys sys 1086406910 492
 sys/src/9/ip/pktmedium.c - 664 sys sys 1084331746 1314
 sys/src/9/ip/ptclbsum.c - 664 sys sys 1022588099 1243
 sys/src/9/ip/rudp.c - 664 sys sys 1055700790 21415
-sys/src/9/ip/tcp.c - 664 sys sys 1181238163 65894
+sys/src/9/ip/tcp.c - 664 sys sys 1184471371 65911
 sys/src/9/ip/tripmedium.c - 664 sys sys 1045063515 7136
-sys/src/9/ip/udp.c - 664 sys sys 1178817924 13317
+sys/src/9/ip/udp.c - 664 sys sys 1184471318 13328
 sys/src/9/mkfile - 664 sys sys 1063857477 205
 sys/src/9/mtx - 20000000775 sys sys 1123676466 0
 sys/src/9/mtx/clock.c - 664 sys sys 1032053278 1293
@@ -8027,12 +8026,12 @@ sys/src/9/pc/audio.h - 664 sys sys 1015014513 343
 sys/src/9/pc/bios32.c - 664 sys sys 1173287378 3029
 sys/src/9/pc/cga.c - 664 sys sys 1015014513 1843
 sys/src/9/pc/dat.h - 664 sys sys 1173289271 6917
-sys/src/9/pc/devarch.c - 664 sys sys 1168315311 19342
+sys/src/9/pc/devarch.c - 664 sys sys 1184470975 19350
 sys/src/9/pc/devether.c - 664 sys sys 1178823613 10489
 sys/src/9/pc/devfloppy.c - 664 sys sys 1142958305 20139
 sys/src/9/pc/devi82365.c - 664 sys sys 1146318335 20504
 sys/src/9/pc/devlm78.c - 664 sys sys 1128255048 6291
-sys/src/9/pc/devlml.c - 664 sys sys 1132448361 7502
+sys/src/9/pc/devlml.c - 664 sys sys 1184470711 7597
 sys/src/9/pc/devlml.h - 664 sys sys 1184470164 3031
 sys/src/9/pc/devlpt.c - 664 sys sys 1184469951 4423
 sys/src/9/pc/devpccard.c - 664 sys sys 1184469910 39336
@@ -8110,7 +8109,7 @@ sys/src/9/pc/ptclbsum386.s - 664 sys sys 1015014521 1493
 sys/src/9/pc/random.c - 664 sys sys 1036812832 2021
 sys/src/9/pc/realmode.c - 664 sys sys 1139667044 2678
 sys/src/9/pc/rebootcode.s - 664 sys sys 1015014522 988
-sys/src/9/pc/screen.c - 664 sys sys 1136336092 13971
+sys/src/9/pc/screen.c - 664 sys sys 1184522395 13973
 sys/src/9/pc/screen.h - 664 sys sys 1147023549 4256
 sys/src/9/pc/sd53c8xx.c - 664 sys sys 1170456695 55276
 sys/src/9/pc/sd53c8xx.n - 664 sys sys 1131290556 12657
@@ -8678,7 +8677,7 @@ sys/src/ape/lib/ap/mips/strcpy.s - 664 sys sys 1014921989 1202
 sys/src/ape/lib/ap/mips/tas.s - 664 sys sys 1014921989 494
 sys/src/ape/lib/ap/mips/vlop.s - 664 sys sys 1014921989 239
 sys/src/ape/lib/ap/mips/vlrt.c - 664 sys sys 1014921989 9001
-sys/src/ape/lib/ap/mkfile - 664 sys sys 1183662148 307
+sys/src/ape/lib/ap/mkfile - 664 sys sys 1184520637 316
 sys/src/ape/lib/ap/plan9 - 20000000775 sys sys 1070660696 0
 sys/src/ape/lib/ap/plan9/9errstr.c - 664 sys sys 1070330880 31
 sys/src/ape/lib/ap/plan9/9iounit.c - 664 sys sys 1070660696 981

+ 38 - 0
dist/replica/plan9.log

@@ -49520,3 +49520,41 @@
 1184470204 2 c sys/src/9/pc/devtv.c - 664 sys sys 1184469620 45423
 1184470204 3 c sys/src/9/pc/ether2114x.c - 664 sys sys 1184468570 41707
 1184470204 4 c sys/src/9/pc/devlml.h - 664 sys sys 1184470164 3031
+1184472005 0 c sys/include/control.h - 664 sys sys 1184471693 4847
+1184472005 1 c sys/include/thread.h - 664 sys sys 1184471649 3586
+1184472005 2 c sys/src/9/ip/arp.c - 664 sys sys 1184471153 11234
+1184472005 3 c sys/src/9/ip/ipaux.c - 664 sys sys 1184471278 12873
+1184472005 4 c sys/src/9/ip/tcp.c - 664 sys sys 1184471371 65911
+1184472005 5 c sys/src/9/ip/udp.c - 664 sys sys 1184471318 13328
+1184472005 6 c sys/src/9/pc/devarch.c - 664 sys sys 1184470975 19350
+1184472005 7 c sys/src/9/pc/devlml.c - 664 sys sys 1184470711 7597
+1184473804 0 c sys/include/html.h - 664 sys sys 1184472600 15622
+1184520605 0 c sys/src/ape/lib/ap/mkfile - 664 sys sys 1184520637 316
+1184522406 0 c sys/src/9/ip/esp.c - 664 sys sys 1184521732 17108
+1184522406 1 c sys/src/9/pc/screen.c - 664 sys sys 1184522395 13973
+1184531404 0 c 386/bin/dd - 775 sys sys 1184529900 46002
+1184531404 1 c 386/bin/eqn - 775 sys sys 1184529901 244950
+1184531404 2 c 386/bin/grap - 775 sys sys 1184529901 282814
+1184531404 3 c 386/bin/pic - 775 sys sys 1184529905 308725
+1184531404 4 c 386/bin/snoopy - 775 sys sys 1184529905 190044
+1184531404 5 c 386/bin/ape/diff - 775 sys sys 1184529896 352356
+1184531404 6 c 386/bin/ape/diff3 - 775 sys sys 1184529897 190456
+1184531404 7 c 386/bin/ape/kill - 775 sys sys 1184529897 140159
+1184531404 8 c 386/bin/ape/patch - 775 sys sys 1184529898 305940
+1184531404 9 c 386/bin/ape/sh - 775 sys sys 1184529899 481824
+1184531404 10 c 386/bin/compress - 775 sys sys 1184529900 167036
+1184531404 11 c 386/bin/ndb/cs - 775 sys sys 1184529902 149014
+1184531404 12 c 386/bin/ndb/dns - 775 sys sys 1184529903 291405
+1184531404 13 c 386/bin/ndb/dnsdebug - 775 sys sys 1184529903 266273
+1184531404 14 c 386/bin/ndb/dnstcp - 775 sys sys 1184529904 264716
+1184531404 15 c 386/bin/upas/marshal - 775 sys sys 1184529906 132936
+1184531404 16 c 386/bin/upas/smtp - 775 sys sys 1184529906 275100
+1184531404 17 c 386/lib/ape/libap.a - 664 sys sys 1184529908 820226
+1184531404 18 c 386/lib/lib9p.a - 664 sys sys 1184529909 91012
+1184531404 19 c 386/lib/libcontrol.a - 664 sys sys 1184529909 274388
+1184531404 20 c 386/lib/libdraw.a - 664 sys sys 1184529910 375068
+1184531404 21 c 386/lib/libframe.a - 664 sys sys 1184529910 66398
+1184531404 22 c 386/lib/libhtml.a - 664 sys sys 1184529911 229152
+1184531404 23 c 386/lib/libsunrpc.a - 664 sys sys 1184529912 353148
+1184531404 24 c 386/lib/libthread.a - 664 sys sys 1184529912 71932
+1184535004 0 d 386/_9pcdisk.gz - 664 sys sys 1039764191 0

+ 297 - 288
sys/include/html.h

@@ -1,13 +1,13 @@
 #pragma lib "libhtml.a"
 #pragma src "/sys/src/libhtml"
 
-// UTILS
+/* UTILS */
 extern uchar*	fromStr(Rune* buf, int n, int chset);
 extern Rune*	toStr(uchar* buf, int n, int chset);
 
-// Common LEX and BUILD enums
+/* Common LEX and BUILD enums */
 
-// Media types
+/* Media types */
 enum
 {
 	ApplMsword,
@@ -49,14 +49,14 @@ enum
 	NMEDIATYPES
 };
 
-// HTTP methods
+/* HTTP methods */
 enum
 {
 	HGet,
 	HPost
 };
 
-// Charsets
+/* Charsets */
 enum
 {
 	UnknownCharset,
@@ -67,7 +67,7 @@ enum
 	NCHARSETS
 };
 
-// Frame Target IDs
+/* Frame Target IDs */
 enum {
 	FTtop,
 	FTself,
@@ -75,13 +75,13 @@ enum {
 	FTblank
 };
 
-// LEX
+/* LEX */
 typedef struct Token Token;
 typedef struct Attr Attr;
 
 #pragma incomplete Token
 
-// BUILD
+/* BUILD */
 
 typedef struct Item Item;
 typedef struct Itext Itext;
@@ -112,32 +112,34 @@ typedef struct Docinfo Docinfo;
 typedef struct Stack Stack;
 typedef struct Pstate Pstate;
 typedef struct ItemSource ItemSource;
-typedef struct Lay Lay;	// defined in Layout module
+typedef struct Lay Lay;		/* defined in Layout module */
 
 #pragma incomplete Lay
 
 
-// Alignment types
+/* Alignment types */
 enum {
 	ALnone = 0, ALleft, ALcenter, ALright, ALjustify,
-	ALchar, ALtop, ALmiddle, ALbottom, ALbaseline
+	ALchar, ALtop, ALmiddle, ALbottom, ALbaseline,
 };
 
 struct Align
 {
-	uchar	halign;	// one of ALnone, ALleft, etc.
-	uchar	valign;	// one of ALnone, ALtop, etc.
+	uchar	halign;		/* one of ALnone, ALleft, etc. */
+	uchar	valign;		/* one of ALnone, ALtop, etc. */
 };
 
-// A Dimen holds a dimension specification, especially for those
-// cases when a number can be followed by a % or a * to indicate
-// percentage of total or relative weight.
-// Dnone means no dimension was specified
+/*
+ * A Dimen holds a dimension specification, especially for those
+ * cases when a number can be followed by a % or a * to indicate
+ * percentage of total or relative weight.
+ * Dnone means no dimension was specified
+ */
 
-// To fit in a word, use top bits to identify kind, rest for value
+/* To fit in a word, use top bits to identify kind, rest for value */
 enum {
 	Dnone =		0,
-	Dpixels =		(1<<29),
+	Dpixels =	(1<<29),
 	Dpercent =	(2<<29),
 	Drelative =	(3<<29),
 	Dkindmask =	(3<<29),
@@ -146,35 +148,39 @@ enum {
 
 struct Dimen
 {
-	int	kindspec;		// kind | spec
+	int	kindspec;	/* kind | spec */
 };
 
-// Background is either an image or a color.
-// If both are set, the image has precedence.
+/*
+ * Background is either an image or a color.
+ * If both are set, the image has precedence.
+ */
 struct Background
 {
-	Rune*	image;	// url
-	int		color;
+	Rune*	image;		/* url */
+	int	color;
 };
 
 
-// There are about a half dozen Item variants.
-// The all look like this at the start (using Plan 9 C's
-// anonymous structure member mechanism),
-// and then the tag field dictates what extra fields there are.
+/*
+ * There are about a half dozen Item variants.
+ * The all look like this at the start (using Plan 9 C's
+ * anonymous structure member mechanism),
+ * and then the tag field dictates what extra fields there are.
+ */
 struct Item
 {
-	Item*	next;		// successor in list of items
-	int		width;	// width in pixels (0 for floating items)
-	int		height;	// height in pixels
-	int		ascent;	// ascent (from top to baseline) in pixels
-	int		anchorid;	// if nonzero, which anchor we're in
-	int		state;	// flags and values (see below)
-	Genattr*	genattr;	// generic attributes and events
-	int		tag;		// variant discriminator: Itexttag, etc.
+	Item*	next;		/* successor in list of items */
+	int	width;		/* width in pixels (0 for floating items) */
+	int	height;		/* height in pixels */
+	int	ascent;		/* ascent (from top to baseline) in pixels */
+	int	anchorid;	/* if nonzero, which anchor we're in */
+	int	state;		/* flags and values (see below) */
+	Genattr*genattr;	/* generic attributes and events */
+	int	tag;		/* variant discriminator: Itexttag, etc. */
 };
 
-// Item variant tags
+/* Item variant tags */
 enum {
 	Itexttag,
 	Iruletag,
@@ -187,104 +193,104 @@ enum {
 
 struct Itext
 {
-	Item;				// (with tag ==Itexttag)
-	Rune*	s;			// the characters
-	int		fnt;			// style*NumSize+size (see font stuff, below)
-	int		fg;			// Pixel (color) for text
-	uchar	voff;			// Voffbias+vertical offset from baseline, in pixels (+ve == down)
-	uchar	ul;			// ULnone, ULunder, or ULmid
+	Item;			/* (with tag ==Itexttag) */
+	Rune*	s;		/* the characters */
+	int	fnt;		/* style*NumSize+size (see font stuff, below) */
+	int	fg;		/* Pixel (color) for text */
+	uchar	voff; /* Voffbias+vertical offset from baseline, in pixels (+ve == down) */
+	uchar	ul;		/* ULnone, ULunder, or ULmid */
 };
 
 struct Irule
 {
-	Item;				// (with tag ==Iruletag)
-	uchar	align;		// alignment spec
-	uchar	noshade;		// if true, don't shade
-	int		size;			// size attr (rule height)
-	Dimen	wspec;		// width spec
+	Item;			/* (with tag ==Iruletag) */
+	uchar	align;		/* alignment spec */
+	uchar	noshade;	/* if true, don't shade */
+	int	size;		/* size attr (rule height) */
+	Dimen	wspec;		/* width spec */
 };
 
 
 struct Iimage
 {
-	Item;				// (with tag ==Iimagetag)
-	Rune*	imsrc;		// image src url
-	int		imwidth;		// spec width (actual, if no spec)
-	int		imheight;		// spec height (actual, if no spec)
-	Rune*	altrep;		// alternate representation, in absence of image
-	Map*	map;			// if non-nil, client side map
-	int		ctlid;			// if animated
-	uchar	align;		// vertical alignment
-	uchar	hspace;		// in pixels; buffer space on each side
-	uchar	vspace;		// in pixels; buffer space on top and bottom
-	uchar	border;		// in pixels: border width to draw around image
-	Iimage*	nextimage;	// next in list of document's images
+	Item;			/* (with tag ==Iimagetag) */
+	Rune*	imsrc;	/* image src url */
+	int	imwidth;	/* spec width (actual, if no spec) */
+	int	imheight;	/* spec height (actual, if no spec) */
+	Rune*	altrep;		/* alternate representation, in absence of image */
+	Map*	map;		/* if non-nil, client side map */
+	int	ctlid;		/* if animated */
+	uchar	align;		/* vertical alignment */
+	uchar	hspace;		/* in pixels; buffer space on each side */
+	uchar	vspace;		/* in pixels; buffer space on top and bottom */
+	uchar	border;		/* in pixels: border width to draw around image */
+	Iimage*	nextimage;	/* next in list of document's images */
 	void*	aux;
 };
 
 
 struct Iformfield
 {
-	Item;				// (with tag ==Iformfieldtag)
-	Formfield*	formfield;
+	Item;			/* (with tag ==Iformfieldtag) */
+	Formfield*formfield;
 	void*	aux;
 };
 
 
 struct Itable
 {
-	Item;				// (with tag ==Itabletag)
+	Item;			/* (with tag ==Itabletag) */
 	Table*	table;
 };
 
 
 struct Ifloat
 {
-	Item;				// (with tag ==Ifloattag)
-	Item*	item;			// table or image item that floats
-	int		x;			// x coord of top (from right, if ALright)
-	int		y;			// y coord of top
-	uchar	side;			// margin it floats to: ALleft or ALright
-	uchar	infloats;		// true if this has been added to a lay.floats
-	Ifloat*	nextfloat;		// in list of floats
+	Item;			/* (with tag ==Ifloattag) */
+	Item*	item;		/* table or image item that floats */
+	int	x;		/* x coord of top (from right, if ALright) */
+	int	y;		/* y coord of top */
+	uchar	side;		/* margin it floats to: ALleft or ALright */
+	uchar	infloats;	/* true if this has been added to a lay.floats */
+	Ifloat*	nextfloat;	/* in list of floats */
 };
 
 
 struct Ispacer
 {
-	Item;				// (with tag ==Ispacertag)
-	int		spkind;		// ISPnull, etc.
+	Item;			/* (with tag ==Ispacertag) */
+	int	spkind;		/* ISPnull, etc. */
 };
 
-// Item state flags and value fields
+/* Item state flags and value fields */
 enum {
-	IFbrk =			0x80000000,	// forced break before this item
-	IFbrksp =			0x40000000,	// add 1 line space to break (IFbrk set too)
-	IFnobrk =			0x20000000,	// break not allowed before this item
-	IFcleft =			0x10000000,	// clear left floats (IFbrk set too)
-	IFcright =			0x08000000,	// clear right floats (IFbrk set too)
-	IFwrap =			0x04000000,	// in a wrapping (non-pre) line
-	IFhang =			0x02000000,	// in a hanging (into left indent) item
-	IFrjust =			0x01000000,	// right justify current line
-	IFcjust =			0x00800000,	// center justify current line
-	IFsmap =			0x00400000,	// image is server-side map
-	IFindentshift =		8,
-	IFindentmask =		(255<<IFindentshift),	// current indent, in tab stops
-	IFhangmask =		255			// current hang into left indent, in 1/10th tabstops
-};
-
-// Bias added to Itext's voff field
+	IFbrk	= 0x80000000,	/* forced break before this item */
+	IFbrksp	= 0x40000000,	/* add 1 line space to break (IFbrk set too) */
+	IFnobrk	= 0x20000000,	/* break not allowed before this item */
+	IFcleft	= 0x10000000,	/* clear left floats (IFbrk set too) */
+	IFcright= 0x08000000,	/* clear right floats (IFbrk set too) */
+	IFwrap	= 0x04000000,	/* in a wrapping (non-pre) line */
+	IFhang	= 0x02000000,	/* in a hanging (into left indent) item */
+	IFrjust	= 0x01000000,	/* right justify current line */
+	IFcjust	= 0x00800000,	/* center justify current line */
+	IFsmap	= 0x00400000,	/* image is server-side map */
+	IFindentshift	= 8,
+	IFindentmask	= (255<<IFindentshift),	/* current indent, in tab stops */
+	IFhangmask	= 255	/* current hang into left indent, in 1/10th tabstops */
+};
+
+/* Bias added to Itext's voff field */
 enum { Voffbias = 128 };
 
-// Spacer kinds
+/* Spacer kinds */
 enum {
-	ISPnull,			// 0 height and width
-	ISPvline,			// height and ascent of current font
-	ISPhspace,		// width of space in current font
-	ISPgeneral		// other purposes (e.g., between markers and list)
+	ISPnull,	/* 0 height and width */
+	ISPvline,	/* height and ascent of current font */
+	ISPhspace,	/* width of space in current font */
+	ISPgeneral	/* other purposes (e.g., between markers and list) */
 };
 
-// Generic attributes and events (not many elements will have any of these set)
+/* Generic attributes and events (not many elements will have any of these set) */
 struct Genattr
 {
 	Rune*	id;
@@ -296,8 +302,8 @@ struct Genattr
 
 struct SEvent
 {
-	SEvent*	next;		// in list of events
-	int		type;		// SEonblur, etc.
+	SEvent*	next;		/* in list of events */
+	int	type;		/* SEonblur, etc. */
 	Rune*	script;
 };
 
@@ -310,7 +316,7 @@ enum {
 	Numscriptev
 };
 
-// Form field types
+/* Form field types */
 enum {
 	Ftext,
 	Fpassword,
@@ -326,24 +332,24 @@ enum {
 	Ftextarea
 };
 
-// Information about a field in a form
+/* Information about a field in a form */
 struct Formfield
 {
-	Formfield*	next;		// in list of fields for a form
-	int			ftype;	// Ftext, Fpassword, etc.
-	int			fieldid;	// serial no. of field within its form
-	Form*		form;	// containing form
-	Rune*		name;	// name attr
-	Rune*		value;	// value attr
-	int			size;		// size attr
-	int			maxlength;	// maxlength attr
-	int			rows;	// rows attr
-	int			cols;		// cols attr
-	uchar		flags;	// FFchecked, etc.
-	Option*		options;	// for Fselect fields
-	Item*		image;	// image item, for Fimage fields
-	int			ctlid;		// identifies control for this field in layout
-	SEvent*		events;	// same as genattr->events of containing item
+	Formfield*next;		/* in list of fields for a form */
+	int	ftype;		/* Ftext, Fpassword, etc. */
+	int	fieldid;	/* serial no. of field within its form */
+	Form*	form;		/* containing form */
+	Rune*	name;		/* name attr */
+	Rune*	value;		/* value attr */
+	int	size;		/* size attr */
+	int	maxlength;	/* maxlength attr */
+	int	rows;		/* rows attr */
+	int	cols;		/* cols attr */
+	uchar	flags;		/* FFchecked, etc. */
+	Option*	options;	/* for Fselect fields */
+	Item*	image;		/* image item, for Fimage fields */
+	int	ctlid;		/* identifies control for this field in layout */
+	SEvent*	events;		/* same as genattr->events of containing item */
 };
 
 enum {
@@ -351,171 +357,172 @@ enum {
 	FFmultiple =	(1<<6)
 };
 
-// Option holds info about an option in a "select" form field
+/* Option holds info about an option in a "select" form field */
 struct Option
 {
-	Option*	next;			// next in list of options for a field
-	int		selected;		// true if selected initially
-	Rune*	value;		// value attr
-	Rune*	display;		// display string
+	Option*	next;		/* next in list of options for a field */
+	int	selected;	/* true if selected initially */
+	Rune*	value;		/* value attr */
+	Rune*	display;	/* display string */
 };
 
-// Form holds info about a form
+/* Form holds info about a form */
 struct Form
 {
-	Form*		next;		// in list of forms for document
-	int			formid;	// serial no. of form within its doc
-	Rune*		name;	// name or id attr (netscape uses name, HTML 4.0 uses id)
-	Rune*		action;	// action attr
-	int			target;	// target attr as targetid
-	int			method;	// HGet or HPost
-	int			nfields;	// number of fields
-	Formfield*	fields;	// field's forms, in input order
+	Form*	next;		/* in list of forms for document */
+	int	formid;		/* serial no. of form within its doc */
+	Rune*	name;	/* name or id attr (netscape uses name, HTML 4.0 uses id) */
+	Rune*	action;		/* action attr */
+	int	target;		/* target attr as targetid */
+	int	method;		/* HGet or HPost */
+	int	nfields;	/* number of fields */
+	Formfield*fields;	/* field's forms, in input order */
 };
 
-// Flags used in various table structures
+/* Flags used in various table structures */
 enum {
 	TFparsing =	(1<<7),
 	TFnowrap =	(1<<6),
-	TFisth =		(1<<5)
+	TFisth =	(1<<5)
 };
 
 
-// Information about a table
+/* Information about a table */
 struct Table
 {
-	Table*		next;			// next in list of document's tables
-	int			tableid;		// serial no. of table within its doc
-	Tablerow*	rows;		// array of row specs (list during parsing)
-	int			nrow;		// total number of rows
-	Tablecol*		cols;			// array of column specs
-	int			ncol;			// total number of columns
-	Tablecell*		cells;			// list of unique cells
-	int			ncell;		// total number of cells
-	Tablecell***	grid;			// 2-D array of cells
-	Align		align;		// alignment spec for whole table
-	Dimen		width;		// width spec for whole table
-	int			border;		// border attr
-	int			cellspacing;	// cellspacing attr
-	int			cellpadding;	// cellpadding attr
-	Background	background;	// table background
-	Item*		caption;		// linked list of Items, giving caption
-	uchar		caption_place;	// ALtop or ALbottom
-	Lay*			caption_lay;	// layout of caption
-	int			totw;			// total width
-	int			toth;			// total height
-	int			caph;		// caption height
-	int			availw;		// used for previous 3 sizes
-	Token*		tabletok;		// token that started the table
-	uchar		flags;		// Lchanged, perhaps
+	Table*	next;		/* next in list of document's tables */
+	int	tableid;	/* serial no. of table within its doc */
+	Tablerow*rows;		/* array of row specs (list during parsing) */
+	int	nrow;		/* total number of rows */
+	Tablecol*cols;		/* array of column specs */
+	int	ncol;		/* total number of columns */
+	Tablecell*cells;	/* list of unique cells */
+	int	ncell;		/* total number of cells */
+	Tablecell***grid;	/* 2-D array of cells */
+	Align	align;		/* alignment spec for whole table */
+	Dimen	width;		/* width spec for whole table */
+	int	border;		/* border attr */
+	int	cellspacing;	/* cellspacing attr */
+	int	cellpadding;	/* cellpadding attr */
+	Background background;	/* table background */
+	Item*	caption;	/* linked list of Items, giving caption */
+	uchar	caption_place;	/* ALtop or ALbottom */
+	Lay*	caption_lay;	/* layout of caption */
+	int	totw;		/* total width */
+	int	toth;		/* total height */
+	int	caph;		/* caption height */
+	int	availw;		/* used for previous 3 sizes */
+	Token*	tabletok;	/* token that started the table */
+	uchar	flags;		/* Lchanged, perhaps */
 };
 
 
 struct Tablecol
 {
-	int		width;
+	int	width;
 	Align	align;
-	Point		pos;
+	Point	pos;
 };
 
 
 struct Tablerow
 {
-	Tablerow*	next;			// Next in list of rows, during parsing
-	Tablecell*		cells;			// Cells in row, linked through nextinrow
-	int			height;
-	int			ascent;
-	Align		align;
-	Background	background;
-	Point			pos;
-	uchar		flags;		// 0 or TFparsing
-};
-
-
-// A Tablecell is one cell of a table.
-// It may span multiple rows and multiple columns.
-// Cells are linked on two lists: the list for all the cells of
-// a document (the next pointers), and the list of all the
-// cells that start in a given row (the nextinrow pointers)
+	Tablerow*next;		/* Next in list of rows, during parsing */
+	Tablecell*cells;	/* Cells in row, linked through nextinrow */
+	int	height;
+	int	ascent;
+	Align	align;
+	Background background;
+	Point	pos;
+	uchar	flags;		/* 0 or TFparsing */
+};
+
+/*
+ * A Tablecell is one cell of a table.
+ * It may span multiple rows and multiple columns.
+ * Cells are linked on two lists: the list for all the cells of
+ * a document (the next pointers), and the list of all the
+ * cells that start in a given row (the nextinrow pointers)
+ */
 struct Tablecell
 {
-	Tablecell*		next;			// next in list of table's cells
-	Tablecell*		nextinrow;	// next in list of row's cells
-	int			cellid;		// serial no. of cell within table
-	Item*		content;		// contents before layout
-	Lay*			lay;			// layout of cell
-	int			rowspan;		// number of rows spanned by this cell
-	int			colspan;		// number of cols spanned by this cell
-	Align		align;		// alignment spec
-	uchar		flags;		// TFparsing, TFnowrap, TFisth
-	Dimen		wspec;		// suggested width
-	int			hspec;		// suggested height
-	Background	background;	// cell background
-	int			minw;		// minimum possible width
-	int			maxw;		// maximum width
-	int			ascent;		// cell's ascent
-	int			row;			// row of upper left corner
-	int			col;			// col of upper left corner
-	Point			pos;			// nw corner of cell contents, in cell
-};
-
-// Anchor is for info about hyperlinks that go somewhere
+	Tablecell*next;		/* next in list of table's cells */
+	Tablecell*nextinrow;	/* next in list of row's cells */
+	int	cellid;		/* serial no. of cell within table */
+	Item*	content;	/* contents before layout */
+	Lay*	lay;		/* layout of cell */
+	int	rowspan;	/* number of rows spanned by this cell */
+	int	colspan;	/* number of cols spanned by this cell */
+	Align	align;		/* alignment spec */
+	uchar	flags;		/* TFparsing, TFnowrap, TFisth */
+	Dimen	wspec;		/* suggested width */
+	int	hspec;		/* suggested height */
+	Background background;	/* cell background */
+	int	minw;		/* minimum possible width */
+	int	maxw;		/* maximum width */
+	int	ascent;		/* cell's ascent */
+	int	row;		/* row of upper left corner */
+	int	col;		/* col of upper left corner */
+	Point	pos;		/* nw corner of cell contents, in cell */
+};
+
+/* Anchor is for info about hyperlinks that go somewhere */
 struct Anchor
 {
-	Anchor*		next;		// next in list of document's anchors
-	int			index;	// serial no. of anchor within its doc
-	Rune*		name;	// name attr
-	Rune*		href;		// href attr
-	int			target;	// target attr as targetid
+	Anchor*	next;		/* next in list of document's anchors */
+	int	index;		/* serial no. of anchor within its doc */
+	Rune*	name;		/* name attr */
+	Rune*	href;		/* href attr */
+	int	target;		/* target attr as targetid */
 };
 
 
-// DestAnchor is for info about hyperlinks that are destinations
+/* DestAnchor is for info about hyperlinks that are destinations */
 struct DestAnchor
 {
-	DestAnchor*	next;		// next in list of document's destanchors
-	int			index;	// serial no. of anchor within its doc
-	Rune*		name;	// name attr
-	Item*		item;		// the destination
+	DestAnchor*next;	/* next in list of document's destanchors */
+	int	index;		/* serial no. of anchor within its doc */
+	Rune*	name;		/* name attr */
+	Item*	item;		/* the destination */
 };
 
 
-// Maps (client side)
+/* Maps (client side) */
 struct Map
 {
-	Map*	next;			// next in list of document's maps
-	Rune*	name;		// map name
-	Area*	areas;		// list of map areas
+	Map*	next;		/* next in list of document's maps */
+	Rune*	name;		/* map name */
+	Area*	areas;		/* list of map areas */
 };
 
 
 struct Area
 {
-	Area*		next;		// next in list of a map's areas
-	int			shape;	// SHrect, etc.
-	Rune*		href;		// associated hypertext link
-	int			target;	// associated target frame
-	Dimen*		coords;	// array of coords for shape
-	int			ncoords;	// size of coords array
+	Area*	next;		/* next in list of a map's areas */
+	int	shape;		/* SHrect, etc. */
+	Rune*	href;		/* associated hypertext link */
+	int	target;		/* associated target frame */
+	Dimen*	coords;		/* array of coords for shape */
+	int	ncoords;	/* size of coords array */
 };
 
-// Area shapes
+/* Area shapes */
 enum {
 	SHrect, SHcircle, SHpoly
 };
 
-// Fonts are represented by integers: style*NumSize + size
+/* Fonts are represented by integers: style*NumSize + size */
 
-// Font styles
+/* Font styles */
 enum {
-	FntR,			// roman
-	FntI,			// italic
-	FntB,			// bold
-	FntT,			// typewriter
+	FntR,		/* roman */
+	FntI,		/* italic */
+	FntB,		/* bold */
+	FntT,		/* typewriter */
 	NumStyle
 };
 
-// Font sizes
+/* Font sizes */
 enum {
 	Tiny,
 	Small,
@@ -526,16 +533,16 @@ enum {
 };
 
 enum {
-	NumFnt = (NumStyle*NumSize),
-	DefFnt = (FntR*NumSize+Normal)
+	NumFnt = NumStyle*NumSize,
+	DefFnt = FntR*NumSize+Normal,
 };
 
-// Lines are needed through some text items, for underlining or strikethrough
+/* Lines are needed through some text items, for underlining or strikethrough */
 enum {
 	ULnone, ULunder, ULmid
 };
 
-// Kidinfo flags
+/* Kidinfo flags */
 enum {
 	FRnoresize =	(1<<0),
 	FRnoscroll =	(1<<1),
@@ -545,80 +552,82 @@ enum {
 	FRvscrollauto =	(1<<5)
 };
 
-// Information about child frame or frameset
+/* Information about child frame or frameset */
 struct Kidinfo
 {
-	Kidinfo*		next;		// in list of kidinfos for a frameset
-	int			isframeset;
+	Kidinfo*next;		/* in list of kidinfos for a frameset */
+	int	isframeset;
 
-	// fields for "frame"
-	Rune*		src;		// only nil if a "dummy" frame or this is frameset
-	Rune*		name;	// always non-empty if this isn't frameset
-	int			marginw;
-	int			marginh;
-	int			framebd;
-	int			flags;
+	/* fields for "frame" */
+	Rune*	src;		/* only nil if a "dummy" frame or this is frameset */
+	Rune*	name;		/* always non-empty if this isn't frameset */
+	int	marginw;
+	int	marginh;
+	int	framebd;
+	int	flags;
 
-	// fields for "frameset"
-	Dimen*		rows;	// array of row dimensions
-	int			nrows;	// length of rows
-	Dimen*		cols;		// array of col dimensions
-	int			ncols;	// length of cols
-	Kidinfo*		kidinfos;
-	Kidinfo*		nextframeset;	// parsing stack
+	/* fields for "frameset" */
+	Dimen*	rows;		/* array of row dimensions */
+	int	nrows;		/* length of rows */
+	Dimen*	cols;		/* array of col dimensions */
+	int	ncols;		/* length of cols */
+	Kidinfo*kidinfos;
+	Kidinfo*nextframeset;	/* parsing stack */
 };
 
 
-// Document info (global information about HTML page)
+/* Document info (global information about HTML page) */
 struct Docinfo
 {
-	// stuff from HTTP headers, doc head, and body tag
-	Rune*		src;				// original source of doc
-	Rune*		base;			// base URL of doc
-	Rune*		doctitle;			// from <title> element
-	Background	background;		// background specification
-	Iimage*		backgrounditem;	// Image Item for doc background image, or nil
-	int			text;				// doc foreground (text) color
-	int			link;				// unvisited hyperlink color
-	int			vlink;			// visited hyperlink color
-	int			alink;			// highlighting hyperlink color
-	int			target;			// target frame default
-	int			chset;			// ISO_8859, etc.
-	int			mediatype;		// TextHtml, etc.
-	int			scripttype;		// TextJavascript, etc.
-	int			hasscripts;		// true if scripts used
-	Rune*		refresh;			// content of <http-equiv=Refresh ...>
-	Kidinfo*		kidinfo;			// if a frameset
-	int			frameid;			// id of document frame
-
-	// info needed to respond to user actions
-	Anchor*		anchors;			// list of href anchors
-	DestAnchor*	dests;			// list of destination anchors
-	Form*		forms;			// list of forms
-	Table*		tables;			// list of tables
-	Map*		maps;			// list of maps
-	Iimage*		images;			// list of image items (through nextimage links)
-};
-
-extern int			dimenkind(Dimen d);
-extern int			dimenspec(Dimen d);
-extern void		freedocinfo(Docinfo* d);
-extern void		freeitems(Item* ithead);
-extern Item*		parsehtml(uchar* data, int datalen, Rune* src, int mtype, int chset, Docinfo** pdi);
-extern void		printitems(Item* items, char* msg);
-extern int			targetid(Rune* s);
-extern Rune*		targetname(int targid);
-extern int			validitems(Item* i);
+	/* stuff from HTTP headers, doc head, and body tag */
+	Rune*	src;		/* original source of doc */
+	Rune*	base;		/* base URL of doc */
+	Rune*	doctitle;	/* from <title> element */
+	Background background;	/* background specification */
+	Iimage*	backgrounditem;	/* Image Item for doc background image, or nil */
+	int	text;		/* doc foreground (text) color */
+	int	link;		/* unvisited hyperlink color */
+	int	vlink;		/* visited hyperlink color */
+	int	alink;		/* highlighting hyperlink color */
+	int	target;		/* target frame default */
+	int	chset;		/* ISO_8859, etc. */
+	int	mediatype;	/* TextHtml, etc. */
+	int	scripttype;	/* TextJavascript, etc. */
+	int	hasscripts;	/* true if scripts used */
+	Rune*	refresh;	/* content of <http-equiv=Refresh ...> */
+	Kidinfo*kidinfo;	/* if a frameset */
+	int	frameid;	/* id of document frame */
+
+	/* info needed to respond to user actions */
+	Anchor*	anchors;	/* list of href anchors */
+	DestAnchor*dests;	/* list of destination anchors */
+	Form*	forms;		/* list of forms */
+	Table*	tables;		/* list of tables */
+	Map*	maps;		/* list of maps */
+	Iimage*	images;		/* list of image items (through nextimage links) */
+};
+
+extern int	dimenkind(Dimen d);
+extern int	dimenspec(Dimen d);
+extern void	freedocinfo(Docinfo* d);
+extern void	freeitems(Item* ithead);
+extern Item*	parsehtml(uchar* data, int datalen, Rune* src, int mtype, int chset, Docinfo** pdi);
+extern void	printitems(Item* items, char* msg);
+extern int	targetid(Rune* s);
+extern Rune*	targetname(int targid);
+extern int	validitems(Item* i);
 
 #pragma varargck	type "I"	Item*
 
-// Control print output
-extern int			warn;
-extern int			dbglex;
-extern int			dbgbuild;
+/* Control print output */
+extern int	warn;
+extern int	dbglex;
+extern int	dbgbuild;
 
-// To be provided by caller
-// emalloc and erealloc should not return if can't get memory.
-// emalloc should zero its memory.
+/*
+ * To be provided by caller
+ * emalloc and erealloc should not return if can't get memory.
+ * emalloc should zero its memory.
+ */
 extern void*	emalloc(ulong);
 extern void*	erealloc(void* p, ulong size);

+ 3 - 3
sys/src/9/ip/esp.c

@@ -379,9 +379,9 @@ print("esp: bad auth %I -> %I!%ld\n", raddr, laddr, spi);
 	}
 	if(!ecb->cipher(ecb, bp->rp+EsphdrSize, payload)) {
 		qunlock(c);
-print("esp: cipher failed %I -> %I!%ld: %r\n", raddr, laddr, spi);
-		netlog(f, Logesp, "esp: cipher failed %I -> %I!%d: %r\n", raddr,
-			laddr, spi);
+print("esp: cipher failed %I -> %I!%ld: %s\n", raddr, laddr, spi, up->errstr);
+		netlog(f, Logesp, "esp: cipher failed %I -> %I!%d: %s\n", raddr,
+			laddr, spi, up->errstr);
 		freeb(bp);
 		return;
 	}

+ 1 - 1
sys/src/9/pc/screen.c

@@ -706,7 +706,7 @@ swcursorinit(void)
 	swimg = allocmemimage(Rect(0,0,16,16), GREY8);
 	swimg1 = allocmemimage(Rect(0,0,16,16), GREY1);
 	if(swback==nil || swmask==nil || swmask1==nil || swimg==nil || swimg1 == nil){
-		print("software cursor: allocmemimage: %r");
+		print("software cursor: allocmemimage fails");
 		return;
 	}
 

+ 1 - 1
sys/src/ape/lib/ap/mkfile

@@ -6,7 +6,7 @@ DIRS=gen math plan9 posix stdio syscall
 default:V:	all
 
 install all:V:
-	for(i in $DIRS)@{
+	for(i in $DIRS $objtype)@{
 		echo $i
 		cd $i
 		mk $MKFLAGS $target