mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
page: remove temporary file at program exit; fixes reading from stdin
http://codereview.appspot.com/105097
This commit is contained in:
parent
8ff457f56d
commit
2fb0c4447e
3 changed files with 16 additions and 5 deletions
|
@ -21,6 +21,7 @@ int truecolor;
|
|||
int imagemode;
|
||||
int notewatcher;
|
||||
int notegp;
|
||||
char tempfile[40];
|
||||
|
||||
int
|
||||
watcher(void *v, char *x)
|
||||
|
@ -83,6 +84,12 @@ usage(void)
|
|||
wexits("usage");
|
||||
}
|
||||
|
||||
void
|
||||
cleanup(void)
|
||||
{
|
||||
remove(tempfile);
|
||||
}
|
||||
|
||||
void
|
||||
threadmain(int argc, char **argv)
|
||||
{
|
||||
|
@ -173,6 +180,8 @@ threadmain(int argc, char **argv)
|
|||
fprint(2, "page: short read reading %s\n", argv[0]);
|
||||
wexits("read");
|
||||
}
|
||||
|
||||
atexit(cleanup);
|
||||
}else if(argc != 0){
|
||||
if(!(b = Bopen(argv[0], OREAD))) {
|
||||
fprint(2, "page: cannot open \"%s\"\n", argv[0]);
|
||||
|
|
|
@ -99,9 +99,12 @@ Image* convert(Graphic *g);
|
|||
Image* cachedpage(Document*, int, int);
|
||||
void cacheflush(void);
|
||||
|
||||
extern char tempfile[40];
|
||||
|
||||
extern int stdinfd;
|
||||
extern int truecolor;
|
||||
|
||||
|
||||
/* BUG BUG BUG BUG BUG: cannot use new draw operations in drawterm,
|
||||
* or in vncs, and there is a bug in the kernel for copying images
|
||||
* from cpu memory -> video memory (memmove is not being used).
|
||||
|
|
|
@ -50,12 +50,11 @@ spooltodisk(uchar *ibuf, int in, char **name)
|
|||
{
|
||||
uchar buf[8192];
|
||||
int fd, n;
|
||||
char temp[40];
|
||||
|
||||
strcpy(temp, "/tmp/pagespoolXXXXXXXXX");
|
||||
fd = opentemp(temp, ORDWR|ORCLOSE);
|
||||
|
||||
strcpy(tempfile, "/tmp/pagespoolXXXXXXXXX");
|
||||
fd = opentemp(tempfile, ORDWR);
|
||||
if(name)
|
||||
*name = estrdup(temp);
|
||||
*name = estrdup(tempfile);
|
||||
|
||||
if(write(fd, ibuf, in) != in){
|
||||
fprint(2, "error writing temporary file\n");
|
||||
|
|
Loading…
Reference in a new issue