tAdd the #goo to allow use in C++. Silence a few more warnings. Strip down the … | |
git clone git://src.adamsgaard.dk/plan9port | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f7012583e9a7594cbb5ebe8e974bb69061189262 | |
parent dc13c29ed174fd15e0b025ca4fea8af71015067d | |
Author: rsc <devnull@localhost> | |
Date: Tue, 25 Nov 2003 01:40:27 +0000 | |
Add the #goo to allow use in C++. | |
Silence a few more warnings. | |
Strip down the mkfiles more. | |
Fix bug in X11 mouse handling, note groups. | |
Diffstat: | |
M include/bin.h | 11 +++++++++++ | |
M include/bio.h | 10 ++++++++-- | |
M include/cursor.h | 11 +++++++++++ | |
M include/draw.h | 11 +++++++++++ | |
M include/event.h | 11 +++++++++++ | |
M include/fcall.h | 9 +++++++++ | |
M include/flate.h | 9 +++++++++ | |
M include/fmt.h | 14 ++++++++------ | |
M include/frame.h | 10 ++++++++++ | |
M include/httpd.h | 10 ++++++++++ | |
M include/ip.h | 9 +++++++++ | |
M include/keyboard.h | 10 ++++++++++ | |
M include/lib9.h | 8 +++----- | |
M include/libsec.h | 10 ++++++++++ | |
M include/memdraw.h | 10 ++++++++++ | |
M include/memlayer.h | 12 ++++++++++++ | |
M include/mouse.h | 11 +++++++++++ | |
M include/plumb.h | 10 ++++++++++ | |
M include/regexp9.h | 10 ++++++++-- | |
M include/thread.h | 10 ++++++++-- | |
M include/utf.h | 10 ++++++++-- | |
M include/venti.h | 9 +++++++++ | |
M src/cmd/idiff.c | 5 ++++- | |
M src/cmd/mkfile | 2 +- | |
M src/cmd/sam/sam.c | 6 +++++- | |
M src/cmd/sam/sam.h | 1 - | |
M src/cmd/sam/unix.c | 4 ---- | |
M src/cmd/unutf.c | 4 ++++ | |
M src/lib9/dirfwstat.c | 23 ++++++++++++++--------- | |
M src/lib9/dirread.c | 17 ++++------------- | |
D src/libdraw/BOT | 0 | |
M src/libdraw/x11-init.c | 9 +++++++++ | |
M src/libdraw/x11-itrans.c | 11 +++++++++-- | |
M src/libhttpd/parsereq.c | 1 - | |
M src/libthread/sched.c | 2 ++ | |
M src/mkcommon | 20 ++++++++++++-------- | |
M src/mkhdr | 23 +++++++++++------------ | |
M src/mkmany | 57 +++--------------------------… | |
M src/mkmk.sh | 10 +++++----- | |
M src/mkone | 35 ++++-------------------------… | |
M src/mksyslib | 2 ++ | |
41 files changed, 297 insertions(+), 160 deletions(-) | |
--- | |
diff --git a/include/bin.h b/include/bin.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _BIN_H_ | |
+#define _BIN_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
/* | |
#pragma lib "libbin.a" | |
#pragma src "/sys/src/libbin" | |
t@@ -11,3 +17,8 @@ typedef struct Bin Bin; | |
void *binalloc(Bin **, ulong size, int zero); | |
void *bingrow(Bin **, void *op, ulong osize, ulong size, int zero); | |
void binfree(Bin **); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/bio.h b/include/bio.h | |
t@@ -1,5 +1,8 @@ | |
-#ifndef _BIOH_ | |
-#define _BIOH_ 1 | |
+#ifndef _BIO_H_ | |
+#define _BIO_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
#include <sys/types.h> /* for off_t */ | |
#include <fcntl.h> /* for O_RDONLY, O_WRONLY */ | |
t@@ -78,4 +81,7 @@ char* Brdstr(Biobuf*, int, int); | |
long Bgetrune(Biobuf*); | |
int Bputrune(Biobuf*, long); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
#endif | |
diff --git a/include/cursor.h b/include/cursor.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _CURSOR_H_ | |
+#define _CURSOR_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
typedef struct Cursor Cursor; | |
struct Cursor | |
{ | |
t@@ -5,3 +11,8 @@ struct Cursor | |
uchar clr[2*16]; | |
uchar set[2*16]; | |
}; | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/draw.h b/include/draw.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _DRAW_H_ | |
+#define _DRAW_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
typedef struct Cachefont Cachefont; | |
typedef struct Cacheinfo Cacheinfo; | |
typedef struct Cachesubf Cachesubf; | |
t@@ -531,3 +537,8 @@ void drawtopwindow(void); | |
int _drawmsgread(Display*, void*, int); | |
int _drawmsgwrite(Display*, void*, int); | |
int _latin1(Rune*, int); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/event.h b/include/event.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _EVENT_H_ | |
+#define _EVENT_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
typedef struct Event Event; | |
typedef struct Menu Menu; | |
t@@ -61,3 +67,8 @@ extern Rectangle egetrect(int, Mouse*); | |
extern void edrawgetrect(Rectangle, int); | |
extern int ereadmouse(Mouse*); | |
extern int eatomouse(Mouse*, char*, int); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/fcall.h b/include/fcall.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _FCALL_H_ | |
+#define _FCALL_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma src "/sys/src/libc/9sys" | |
#pragma lib "libc.a" | |
t@@ -118,3 +123,7 @@ int read9pmsg(int, void*, uint); | |
#pragma varargck type "M" ulong | |
#pragma varargck type "D" Dir* | |
*/ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/flate.h b/include/flate.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _FLATE_H_ | |
+#define _FLATE_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma lib "libflate.a" | |
#pragma src "/sys/src/libflate" | |
t@@ -39,3 +44,7 @@ ulong *mkcrctab(ulong); | |
ulong blockcrc(ulong *tab, ulong crc, void *buf, int n); | |
ulong adler32(ulong adler, void *buf, int n); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/fmt.h b/include/fmt.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _FMT_H_ | |
+#define _FMT_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
* The authors of this software are Rob Pike and Ken Thompson. | |
t@@ -13,14 +18,8 @@ | |
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. | |
*/ | |
-#ifndef _FMTH_ | |
-#define _FMTH_ 1 | |
- | |
#include <stdarg.h> | |
- | |
-#ifndef _UTFH_ | |
#include <utf.h> | |
-#endif | |
typedef struct Fmt Fmt; | |
struct Fmt{ | |
t@@ -97,4 +96,7 @@ extern int fmtstrcpy(Fmt*, char*); | |
extern double fmtstrtod(const char *, char **); | |
extern double fmtcharstod(int(*)(void*), void*); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
#endif | |
diff --git a/include/frame.h b/include/frame.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _FRAME_H_ | |
+#define _FRAME_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
typedef struct Frbox Frbox; | |
typedef struct Frame Frame; | |
t@@ -83,3 +89,7 @@ void frinittick(Frame*); | |
#define NRUNE(b) ((b)->nrune<0? 1 : (b)->nrune) | |
#define NBYTE(b) strlen((char*)(b)->ptr) | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/httpd.h b/include/httpd.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _HTTPD_H_ | |
+#define _HTTPD_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma lib "libhttpd.a" | |
#pragma src "/sys/src/libhttpd" | |
t@@ -278,3 +283,8 @@ int hxferenc(Hio*, int); | |
#pragma varargck type "U" char* | |
#pragma varargck type "H" char* | |
*/ | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/ip.h b/include/ip.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _IP_H_ | |
+#define _IP_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma src "/sys/src/libip" | |
#pragma lib "libip.a" | |
t@@ -121,3 +126,7 @@ extern uchar IPallbits[IPaddrlen]; | |
#define CLASS(p) ((*(uchar*)(p))>>6) | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/keyboard.h b/include/keyboard.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _KEYBOARD_H_ | |
+#define _KEYBOARD_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
typedef struct Keyboardctl Keyboardctl; | |
struct Keyboardctl | |
t@@ -34,3 +39,8 @@ enum { | |
Kshift= KF|0x16, | |
Kctl= KF|0x17, | |
}; | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/lib9.h b/include/lib9.h | |
t@@ -3,9 +3,8 @@ | |
* fit into libutf or into libfmt, but is still missing from traditional | |
* Unix C libraries. | |
*/ | |
-#ifndef _LIB9H_ | |
-#define _LIB9H_ 1 | |
- | |
+#ifndef _LIB9_H_ | |
+#define _LIB9_H_ 1 | |
#if defined(__cplusplus) | |
extern "C" { | |
#endif … | |
t@@ -861,5 +860,4 @@ extern void __fixargv0(void); | |
#if defined(__cplusplus) | |
} | |
#endif | |
- | |
-#endif /* _LIB9H_ */ | |
+#endif /* _LIB9_H_ */ | |
diff --git a/include/libsec.h b/include/libsec.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _LIBSEC_H_ | |
+#define _LIBSEC_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma lib "libsec.a" | |
#pragma src "/sys/src/libsec" | |
t@@ -338,3 +343,8 @@ extern int okThumbprint(uchar *sha1, Thumbprint *ok); | |
// readcert.c | |
extern uchar *readcert(char *filename, int *pcertlen); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/memdraw.h b/include/memdraw.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _MEMDRAW_H_ | |
+#define _MEMDRAW_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
typedef struct Memimage Memimage; | |
typedef struct Memdata Memdata; | |
typedef struct Memsubfont Memsubfont; | |
t@@ -208,3 +213,8 @@ extern Memdrawparam* _memimagedrawsetup(Memimage*, | |
Point, int); | |
extern void _memimagedraw(Memdrawparam*); | |
extern void _drawreplacescreenimage(Memimage*); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/memlayer.h b/include/memlayer.h | |
t@@ -1,3 +1,9 @@ | |
+#ifndef _MEMLAYER_H_ | |
+#define _MEMLAYER_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
+ | |
typedef struct Memscreen Memscreen; | |
typedef void (*Refreshfn)(Memimage*, Rectangle, void*); | |
t@@ -46,3 +52,9 @@ void memlexpose(Memimage*, Rectangle); | |
void _memlsetclear(Memscreen*); | |
int memlorigin(Memimage*, Point, Point); | |
void memlnorefresh(Memimage*, Rectangle, void*); | |
+ | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/mouse.h b/include/mouse.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _MOUSE_H_ | |
+#define _MOUSE_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
typedef struct Menu Menu; | |
typedef struct Mousectl Mousectl; | |
t@@ -42,3 +47,9 @@ extern void setcursor(Mousectl*, struct Curso… | |
extern void drawgetrect(Rectangle, int); | |
extern Rectangle getrect(int, Mousectl*); | |
extern int menuhit(int, Mousectl*, Menu*, Screen*); | |
+ | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/plumb.h b/include/plumb.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _LIBPLUMB_H_ | |
+#define _LIBPLUMB_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* | |
#pragma lib "libplumb.a" | |
#pragma src "/sys/src/libplumb" | |
t@@ -48,3 +53,8 @@ void plumbfree(Plumbmsg*); | |
char* plumblookup(Plumbattr*, char*); | |
int plumbopen(char*, int); | |
int eplumb(int, char*); | |
+ | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/include/regexp9.h b/include/regexp9.h | |
t@@ -1,6 +1,9 @@ | |
-#ifndef _REGEXP9H_ | |
+#ifndef _REGEXP9_H_ | |
+#define _REGEXP9_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
-#define _REGEXP9H_ 1 | |
#include <utf.h> | |
typedef struct Resub Resub; | |
t@@ -83,4 +86,7 @@ extern void rregsub9(Rune*, Rune*, Resub*, int); | |
#define rregsub rregsub9 | |
#endif | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
#endif | |
diff --git a/include/thread.h b/include/thread.h | |
t@@ -1,5 +1,8 @@ | |
-#ifndef _THREADH_ | |
-#define _THREADH_ 1 | |
+#ifndef _THREAD_H_ | |
+#define _THREAD_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* avoid conflicts with socket library */ | |
#undef send | |
t@@ -129,4 +132,7 @@ int iosleep(Ioproc*, long); | |
long iocall(Ioproc*, long (*)(va_list*), ...); | |
void ioret(Ioproc*, int); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
#endif /* _THREADH_ */ | |
diff --git a/include/utf.h b/include/utf.h | |
t@@ -1,5 +1,8 @@ | |
-#ifndef _UTFH_ | |
-#define _UTFH_ 1 | |
+#ifndef _UTF_H_ | |
+#define _UTF_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
typedef unsigned short Rune; /* 16 bits */ | |
t@@ -48,4 +51,7 @@ extern int isspacerune(Rune); | |
extern int istitlerune(Rune); | |
extern int isupperrune(Rune); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
#endif | |
diff --git a/include/venti.h b/include/venti.h | |
t@@ -1,3 +1,8 @@ | |
+#ifndef _VENTI_H_ | |
+#define _VENTI_H_ 1 | |
+#if defined(__cplusplus) | |
+extern "C" { | |
+#endif | |
/* XXX should be own library? */ | |
/* | |
* Packets | |
t@@ -413,3 +418,7 @@ int vtfilelock(VtFile*, int); | |
int vtfilelock2(VtFile*, VtFile*, int); | |
int vtfileflushbefore(VtFile*, u64int); | |
+#if defined(__cplusplus) | |
+} | |
+#endif | |
+#endif | |
diff --git a/src/cmd/idiff.c b/src/cmd/idiff.c | |
t@@ -82,11 +82,14 @@ int | |
opentemp(char *template, int mode, long perm) | |
{ | |
int fd; | |
+ Dir d; | |
fd = mkstemp(template); | |
if(fd < 0) | |
sysfatal("could not create temporary file"); | |
- fchmod(fd, perm); | |
+ nulldir(&d); | |
+ d.mode = perm; | |
+ dirfwstat(fd, &d); | |
return fd; | |
} | |
diff --git a/src/cmd/mkfile b/src/cmd/mkfile | |
t@@ -6,7 +6,7 @@ LDFLAGS=$LDFLAGS -lsec -lregexp9 -l9 -lbio -lfmt -lutf | |
<$PLAN9/src/mkmany | |
-BUGGERED='CVS|oplumb|plumb|plumb2|mk|vac|9term' | |
+BUGGERED='CVS|oplumb|plumb|plumb2|mk|vac|9term|venti' | |
DIRS=`ls -l |sed -n 's/^d.* //p' |egrep -v "$BUGGERED"` | |
<$PLAN9/src/mkdirs | |
diff --git a/src/cmd/sam/sam.c b/src/cmd/sam/sam.c | |
t@@ -141,6 +141,7 @@ rescue(void) | |
File *f; | |
char *c; | |
char buf[256]; | |
+ char *root; | |
if(rescuing++) | |
return; | |
t@@ -162,7 +163,10 @@ rescue(void) | |
free(c); | |
}else | |
sprint(buf, "nameless.%d", nblank++); | |
- fprint(io, "#!%s '%s' $* <<'---%s'\n", SAMSAVECMD, buf, buf); | |
+ root = getenv("PLAN9"); | |
+ if(root == nil) | |
+ root = "/usr/local/plan9"; | |
+ fprint(io, "#!/bin/sh\n%s/bin/samsave '%s' $* <<'---%s'\n", ro… | |
addr.r.p1 = 0, addr.r.p2 = f->b.nc; | |
writeio(f); | |
fprint(io, "\n---%s\n", (char *)buf); | |
diff --git a/src/cmd/sam/sam.h b/src/cmd/sam/sam.h | |
t@@ -345,7 +345,6 @@ extern char SH[]; | |
extern char SHPATH[]; | |
extern char RX[]; | |
extern char RXPATH[]; | |
-extern char SAMSAVECMD[]; | |
/* | |
* acme globals | |
diff --git a/src/cmd/sam/unix.c b/src/cmd/sam/unix.c | |
t@@ -38,9 +38,6 @@ Rune *right[]= { r1, r2, r3, 0}; | |
#ifndef RXPATHNAME | |
#define RXPATHNAME "ssh" | |
#endif | |
-#ifndef SAMSAVECMDNAME | |
-#define SAMSAVECMDNAME "/bin/sh\n/usr/local/plan9/bin/samsave" | |
-#endif | |
char RSAM[] = "sam"; | |
char SAMTERM[] = SAMTERMNAME; | |
t@@ -50,7 +47,6 @@ char SH[] = SHNAME; | |
char SHPATH[] = SHPATHNAME; | |
char RX[] = RXNAME; | |
char RXPATH[] = RXPATHNAME; | |
-char SAMSAVECMD[] = SAMSAVECMDNAME; | |
void | |
diff --git a/src/cmd/unutf.c b/src/cmd/unutf.c | |
t@@ -1,3 +1,7 @@ | |
+/* | |
+ * stupid little program to pipe unicode chars through | |
+ * when converting to non-utf compilers. | |
+ */ | |
#include <u.h> | |
#include <libc.h> | |
#include <bio.h> | |
diff --git a/src/lib9/dirfwstat.c b/src/lib9/dirfwstat.c | |
t@@ -22,16 +22,21 @@ futimes(int fd, struct timeval *tv) | |
int | |
dirfwstat(int fd, Dir *dir) | |
{ | |
+ int ret; | |
struct timeval tv[2]; | |
- /* BUG handle more */ | |
- if(dir->mtime == ~0ULL) | |
- return 0; | |
- | |
- tv[0].tv_sec = dir->mtime; | |
- tv[0].tv_usec = 0; | |
- tv[1].tv_sec = dir->mtime; | |
- tv[1].tv_usec = 0; | |
- return futimes(fd, tv); | |
+ if(~dir->mode != 0){ | |
+ if(fchmod(fd, dir->mode) < 0) | |
+ ret = -1; | |
+ } | |
+ if(~dir->mtime != 0){ | |
+ tv[0].tv_sec = dir->mtime; | |
+ tv[0].tv_usec = 0; | |
+ tv[1].tv_sec = dir->mtime; | |
+ tv[1].tv_usec = 0; | |
+ if(futimes(fd, tv) < 0) | |
+ ret = -1; | |
+ } | |
+ return ret; | |
} | |
diff --git a/src/lib9/dirread.c b/src/lib9/dirread.c | |
t@@ -1,31 +1,22 @@ | |
#include <u.h> | |
+#define NOPLAN9DEFINES | |
#include <libc.h> | |
- | |
-#undef asctime | |
-#undef ctime | |
-#undef gmtime | |
-#undef localtime | |
- | |
#include <sys/stat.h> | |
#include <dirent.h> | |
extern int _p9dir(struct stat*, char*, Dir*, char**, char*); | |
-/* everyone has getdirentries, just use that */ | |
+/* almost everyone has getdirentries, just use that */ | |
static int | |
mygetdents(int fd, char *buf, int n) | |
{ | |
ssize_t nn; | |
-#if _GETDIRENTRIES_TAKES_LONG | |
long off; | |
-#else | |
- off_t off; | |
-#endif | |
- off = seek(fd, 0, 1); | |
+ off = p9seek(fd, 0, 1); | |
nn = getdirentries(fd, buf, n, &off); | |
if(nn > 0) | |
- seek(fd, off, 0); | |
+ p9seek(fd, off, 0); | |
return nn; | |
} | |
diff --git a/src/libdraw/BOT b/src/libdraw/BOT | |
diff --git a/src/libdraw/x11-init.c b/src/libdraw/x11-init.c | |
t@@ -26,6 +26,15 @@ _initdisplay(void (*error)(Display*, char*), char *label) | |
Display *d; | |
Memimage *m; | |
+ /* | |
+ * This rfork(RFNOTEG) isn't exactly right, | |
+ * but we need some way to signal window | |
+ * closes. Right now we post a hangup | |
+ * note to the note group, which kills a whole | |
+ * lot more than just the current program | |
+ * if we don't do this. | |
+ */ | |
+ rfork(RFNOTEG); | |
memimageinit(); | |
d = mallocz(sizeof(Display), 1); | |
diff --git a/src/libdraw/x11-itrans.c b/src/libdraw/x11-itrans.c | |
t@@ -190,8 +190,15 @@ xtoplan9mouse(XDisplay *xd, XEvent *e, Mouse *m) | |
switch(e->type){ | |
case ButtonPress: | |
be = (XButtonEvent*)e; | |
- /* Fake message, just sent to make us announce snarf. */ | |
- if(be->send_event && be->state==~0 && be->button==~0) | |
+ /* | |
+ * Fake message, just sent to make us announce snarf. | |
+ * Apparently state and button are 16 and 8 bits on | |
+ * the wire, since they are truncated by the time they | |
+ * get to us. | |
+ */ | |
+ if(be->send_event | |
+ && (~be->state&0xFFFF)==0 | |
+ && (~be->button&0xFF)==0) | |
return -1; | |
/* BUG? on mac need to inherit these from elsewhere? */ | |
m->xy.x = be->x; | |
diff --git a/src/libhttpd/parsereq.c b/src/libhttpd/parsereq.c | |
t@@ -15,7 +15,6 @@ static char* abspath(HConnect *cc, cha… | |
static int getc(HConnect*); | |
static char* getword(HConnect*); | |
static Strings parseuri(HConnect *c, char*); | |
-static Strings stripmagic(char*); | |
static Strings stripsearch(char*); | |
/* | |
diff --git a/src/libthread/sched.c b/src/libthread/sched.c | |
t@@ -3,12 +3,14 @@ | |
//static Thread *runthread(Proc*); | |
+#if 0 | |
static char *_psstate[] = { | |
"Dead", | |
"Running", | |
"Ready", | |
"Rendezvous", | |
}; | |
+#endif | |
static char* | |
psstate(int s) | |
diff --git a/src/mkcommon b/src/mkcommon | |
t@@ -6,16 +6,20 @@ | |
%.$O: %.s | |
$AS $AFLAGS $stem.s | |
-clean:V: | |
+y.tab.h y.tab.c: $YFILES | |
+ $YACC $YFLAGS $prereq | |
+ | |
+nuke:V: nuke-common | |
+clean:V: clean-common | |
+%.clean:V: %.clean-common | |
+ | |
+nuke-common:V: | |
+ rm -f *.[$OS] [$OS].out $CLEANFILES $NUKEFILES | |
+ | |
+clean-common: | |
rm -f *.[$OS] [$OS].out $CLEANFILES | |
-%.clean:V: | |
+%.clean-common:V: | |
rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem | |
-nuke:V: | |
- rm -f *.[$OS] [$OS].out $CLEANFILES | |
-Makefile:D: mkfile | |
- rm -f Makefile | |
- sh $PLAN9/src/mk2make mkfile >Makefile | |
- chmod 444 Makefile | |
diff --git a/src/mkhdr b/src/mkhdr | |
t@@ -1,26 +1,25 @@ | |
SYSNAME=`uname` | |
OBJTYPE=`uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'` | |
+BIN=$PLAN9/bin | |
+LIBDIR=$PLAN9/lib | |
+ | |
+# BUG - figure this out automatically | |
X11=/usr/X11R6 | |
+ | |
+O=o | |
+OS=$O | |
+ | |
CC=9c | |
LD=9l | |
AS=9a | |
AR=9ar | |
+INSTALL=install -c | |
CFLAGS= | |
LDFLAGS= | |
AFLAGS= | |
-O=o | |
- | |
-BIN=$PLAN9/bin | |
-LIBDIR=$PLAN9/lib | |
+CLEANFILES= | |
+NUKEFILES= | |
<|cat $PLAN9/src/mk.$SYSNAME-$OBJTYPE 2>/dev/null || true | |
-OS=$O | |
-LD=9l | |
-LDFLAGS=$LDFLAGS -L$LIBDIR | |
- | |
-CLEANFILES=*.$O | |
-NUKEFILES= | |
- | |
-INSTALL=install -c | |
diff --git a/src/mkmany b/src/mkmany | |
t@@ -1,73 +1,26 @@ | |
-PROGS=${TARG:%=$O.%} | |
- | |
none:VQ: | |
echo usage: mk all, install, installall, '$O'.cmd, cmd.install, or cmd… | |
+PROGS=${TARG:%=$O.%} | |
+ | |
all:V: $PROGS | |
$O.%: %.$O $OFILES $LIB | |
$LD -o $target $prereq $LDFLAGS | |
-%.$O: $HFILES # don't combine with following %.$O rules | |
- | |
-%.$O: %.c | |
- $CC $CFLAGS $stem.c | |
- | |
-%.$O: %.s | |
- $AS $AFLAGS $stem.s | |
- | |
-y.tab.h y.tab.c: $YFILES | |
- $YACC $YFLAGS $prereq | |
- | |
%.install:V: $BIN/% | |
$BIN/%: $O.% | |
$INSTALL $O.$stem $BIN/$stem | |
-%.installall:V: | |
- for (objtype in $CPUS) | |
- mk $stem.install | |
- | |
install:V: | |
- # for (i in $TARG) | |
- # mk $MKFLAGS $i.install | |
for i in $TARG | |
do | |
mk $MKFLAGS $i.install | |
done | |
-installall:V: | |
- for(objtype in $CPUS) | |
- mk $MKFLAGS install | |
- | |
-%.safeinstall:V: | |
- mk $O.$stem | |
- test -e $BIN/$stem && mv $BIN/$stem $BIN/_$stem | |
- mk $stem.install | |
- | |
-%.safeinstallall:V: | |
- for(objtype in $CPUS) | |
- mk $MKFLAGS $stem.safeinstall | |
- | |
-safeinstall:V: | |
- for(i in $TARG) | |
- mk $MKFLAGS $i.safeinstall | |
- | |
-safeinstallall:V: | |
- for (objtype in $CPUS) | |
- mk safeinstall | |
- | |
-update:V: | |
- update $UPDATEFLAGS $UPDATE | |
- | |
-nuke:V: | |
- rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* *.acid $TARG $NUKEFILES | |
- | |
-clean:V: | |
- rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* $TARG $CLEANFILES | |
+CLEANFILES=$CLEANFILES $PROGS | |
+NUKEFILES=$NUKEFILES ${TARG:%=$BIN/%} | |
-%.clean:V: | |
- rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem | |
+<$PLAN9/src/mkcommon | |
-%.acid: %.$O $HFILES | |
- $CC $CFLAGS -a $stem.c >$target | |
diff --git a/src/mkmk.sh b/src/mkmk.sh | |
t@@ -19,7 +19,7 @@ cd libutf | |
9c utfrrune.c | |
9c utfrune.c | |
9c utfutf.c | |
-ar rvc ../../lib/libutf.a rune.o runestrcat.o runestrchr.o runestrcmp.o runest… | |
+9ar rvc ../../lib/libutf.a rune.o runestrcat.o runestrchr.o runestrcmp.o runes… | |
cd .. | |
cd libfmt | |
9c dofmt.c | |
t@@ -56,7 +56,7 @@ cd libfmt | |
9c vsnprint.c | |
9c charstod.c | |
9c pow10.c | |
-ar rvc ../../lib/libfmt.a dofmt.o errfmt.o fltfmt.o fmt.o fmtfd.o fmtfdflush.o… | |
+9ar rvc ../../lib/libfmt.a dofmt.o errfmt.o fltfmt.o fmt.o fmtfd.o fmtfdflush.… | |
cd .. | |
cd libbio | |
9c bbuffered.c | |
t@@ -75,7 +75,7 @@ cd libbio | |
9c bwrite.c | |
9c bgetrune.c | |
9c bputrune.c | |
-ar rvc ../../lib/libbio.a bbuffered.o bfildes.o bflush.o bgetc.o bgetd.o binit… | |
+9ar rvc ../../lib/libbio.a bbuffered.o bfildes.o bflush.o bgetc.o bgetd.o bini… | |
cd .. | |
cd libregexp | |
9c regcomp.c | |
t@@ -86,7 +86,7 @@ cd libregexp | |
9c rregaux.c | |
9c rregexec.c | |
9c rregsub.c | |
-ar rvc ../../lib/libregexp9.a regcomp.o regerror.o regexec.o regsub.o regaux.o… | |
+9ar rvc ../../lib/libregexp9.a regcomp.o regerror.o regexec.o regsub.o regaux.… | |
cd .. | |
cd cmd/mk | |
9c arc.c | |
t@@ -111,6 +111,6 @@ cd cmd/mk | |
9c varsub.c | |
9c word.c | |
9c unix.c | |
-9l -o o.mk arc.o archive.o bufblock.o env.o file.o graph.o job.o lex.o main.o … | |
+9l -o o.mk arc.o archive.o bufblock.o env.o file.o graph.o job.o lex.o main.o … | |
install -c o.mk ../../../bin/mk | |
cd .. | |
diff --git a/src/mkone b/src/mkone | |
t@@ -2,43 +2,16 @@ PROG=$O.$TARG | |
all:V: $PROG | |
-$O.$TARG: $OFILES $LIB | |
+$PROG: $OFILES $LIB | |
$LD -o $target $prereq $LDFLAGS | |
-%.$O: $HFILES # don't combine with following %.$O rules | |
- | |
-%.$O: %.c | |
- $CC $CFLAGS $stem.c | |
- | |
-%.$O: %.s | |
- $AS $AFLAGS $stem.s | |
- | |
-y.tab.h y.tab.c: $YFILES | |
- $YACC $YFLAGS $prereq | |
- | |
+install:V: $TARG.install | |
%.install:V: $BIN/% | |
$BIN/%: $O.% | |
$INSTALL $O.$stem $BIN/$stem | |
-%.installall:V: | |
- for (objtype in $CPUS) | |
- mk $stem.install | |
- | |
-install:V: $TARG.install | |
- | |
-installall:V: | |
- for(objtype in $CPUS) | |
- mk $MKFLAGS install | |
- | |
-nuke:V: | |
- rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* *.acid $TARG $NUKEFILES | |
- | |
-clean:V: | |
- rm -f *.[$OS] y.tab.? y.debug y.output [$OS].* $TARG $CLEANFILES | |
+NUKEFILES=$NUKEFILES $BIN/$TARG | |
-%.clean:V: | |
- rm -f $stem.[$OS] [$OS].$stem $stem.acid $stem | |
+<$PLAN9/src/mkcommon | |
-%.acid: %.$O $HFILES | |
- $CC $CFLAGS -a $stem.c >$target | |
diff --git a/src/mksyslib b/src/mksyslib | |
t@@ -8,4 +8,6 @@ $PLAN9/lib/$LIB:V: $OFILES # for… | |
all install:V: $PLAN9/lib/$LIB | |
+NUKEFILES=$NUKEFILES $PLAN9/lib/$LIB | |
+ | |
<$PLAN9/src/mkcommon |