aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwkj <devnull@localhost>2004-07-03 17:48:02 +0000
committerwkj <devnull@localhost>2004-07-03 17:48:02 +0000
commit5241ed2bc2c0a0553c75b628d16d3b588cdee685 (patch)
tree4cc67cab95483522941582fce328978a985a3517 /src
parent13afc7e57c2dd8001f23a8875719d57db2a8633c (diff)
downloadplan9port-5241ed2bc2c0a0553c75b628d16d3b588cdee685.tar.gz
plan9port-5241ed2bc2c0a0553c75b628d16d3b588cdee685.tar.bz2
plan9port-5241ed2bc2c0a0553c75b628d16d3b588cdee685.zip
Placate the Sun monster.
Diffstat (limited to 'src')
-rw-r--r--src/cmd/9660/dump9660.c8
-rw-r--r--src/cmd/9660/unix.c2
-rw-r--r--src/cmd/9term/SunOS.c2
-rw-r--r--src/libip/eipfmt.c20
4 files changed, 26 insertions, 6 deletions
diff --git a/src/cmd/9660/dump9660.c b/src/cmd/9660/dump9660.c
index 320e56d3..95bba374 100644
--- a/src/cmd/9660/dump9660.c
+++ b/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);
diff --git a/src/cmd/9660/unix.c b/src/cmd/9660/unix.c
index 99332af8..f060c104 100644
--- a/src/cmd/9660/unix.c
+++ b/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)
diff --git a/src/cmd/9term/SunOS.c b/src/cmd/9term/SunOS.c
index 12f64b85..4c85918e 100644
--- a/src/cmd/9term/SunOS.c
+++ b/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
diff --git a/src/libip/eipfmt.c b/src/libip/eipfmt.c
index 8333225a..b3fc44c7 100644
--- a/src/libip/eipfmt.c
+++ b/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*);