commit 5241ed2bc2c0a0553c75b628d16d3b588cdee685 from: wkj date: Sat Jul 03 17:48:02 2004 UTC Placate the Sun monster. commit - 13afc7e57c2dd8001f23a8875719d57db2a8633c commit + 5241ed2bc2c0a0553c75b628d16d3b588cdee685 blob - 320e56d3ec88f4b471148be48f2c2b851c55c628 blob + 95bba374c934dfd6963f6793b10c54edb99191a7 --- src/cmd/9660/dump9660.c +++ src/cmd/9660/dump9660.c @@ -201,7 +201,7 @@ main(int argc, char **argv) checknames(&iroot, isbadiso9660); convertnames(&iroot, struprcpy); } else - convertnames(&iroot, (void *) strcpy); + convertnames(&iroot, (char* (*)(char*, char*))strcpy); // isoabstract = findconform(&iroot, abstract); // isobiblio = findconform(&iroot, biblio); @@ -215,7 +215,7 @@ main(int argc, char **argv) // jnotice = findconform(&jroot, notice); checknames(&jroot, isbadjoliet); - convertnames(&jroot, (void *) strcpy); + convertnames(&jroot, (char* (*)(char*, char*))strcpy); dsort(&jroot, jolietcmp); } @@ -301,14 +301,14 @@ Dofix: * Write dump tree at end. We assume the name characters * are all conforming, so everything is already sorted properly. */ - convertnames(&idumproot, (info.flags & CDconform) ? (void *) struprcpy : (void *) strcpy); + convertnames(&idumproot, (info.flags & CDconform) ? struprcpy : (char* (*)(char*, char*)) strcpy); if(cd->nulldump) { r = walkdirec(&idumproot, dumpname); assert(r != nil); copybutname(r, &iroot); } if(cd->flags & CDjoliet) { - convertnames(&jdumproot, (void *) strcpy); + convertnames(&jdumproot, (char* (*)(char*, char*))strcpy); if(cd->nulldump) { r = walkdirec(&jdumproot, dumpname); assert(r != nil); blob - 99332af8857fdb926d4c7e435d6a12d697a6675a blob + f060c104c7a4e8f2446b1b76498cf0fa443af756 --- src/cmd/9660/unix.c +++ src/cmd/9660/unix.c @@ -41,7 +41,7 @@ dirtoxdir(XDir *xd, Dir *d) //xd->symlink = atom(d->symlink); xd->symlink = atom("symlink"); // XXX: rsc } -}; +} void fdtruncate(int fd, ulong size) blob - 12f64b85db0ef1b2fd11f43264350a8f7f029c40 blob + 4c85918e2a589d0221687d3815254d42e98ef465 --- src/cmd/9term/SunOS.c +++ src/cmd/9term/SunOS.c @@ -67,7 +67,7 @@ isecho(int fd) if(debug) fprint(2, "israw %c%c\n", ttmode.c_lflag&ICANON ? 'c' : '-', ttmode.c_lflag&ECHO ? 'e' : '-'); - return (ttmode.c_lflag&(ICANON|ECHO)); + return (ttmode.c_lflag&ICANON && ttmode.c_lflags&ECHO); } int blob - 8333225a5fa52e14630e47514a29ab26be06d132 blob + b3fc44c7600ee4cb7935e7bd74bf54b08058f85e --- src/libip/eipfmt.c +++ src/libip/eipfmt.c @@ -7,6 +7,9 @@ enum Isprefix= 16, }; +// XXX: manually initialize once to placate the Sun monster +uchar prefixvals[256]; +#ifdef NOTDEF uchar prefixvals[256] = { [0x00] 0 | Isprefix, @@ -19,6 +22,7 @@ uchar prefixvals[256] = [0xFE] 7 | Isprefix, [0xFF] 8 | Isprefix, }; +#endif int eipfmt(Fmt *f) @@ -31,6 +35,22 @@ eipfmt(Fmt *f) ushort s; int i, j, n, eln, eli; + static int once = 0; // XXX: placate the Sun monster + + if(!once){ + once = 1; + memset(prefixvals, 0, sizeof(prefixvals)); + prefixvals[0x00] = 0 | Isprefix; + prefixvals[0x80] = 1 | Isprefix; + prefixvals[0xC0] = 2 | Isprefix; + prefixvals[0xE0] = 3 | Isprefix; + prefixvals[0xF0] = 4 | Isprefix; + prefixvals[0xF8] = 5 | Isprefix; + prefixvals[0xFC] = 6 | Isprefix; + prefixvals[0xFE] = 7 | Isprefix; + prefixvals[0xFF] = 8 | Isprefix; + } + switch(f->r) { case 'E': /* Ethernet address */ p = va_arg(f->args, uchar*);