lib9: add mode parameter to opentemp
diff --git a/src/lib9/opentemp.c b/src/lib9/opentemp.c
index f90bf77..9d4e2d0 100644
--- a/src/lib9/opentemp.c
+++ b/src/lib9/opentemp.c
@@ -2,14 +2,19 @@
 #include <libc.h>
 
 int
-opentemp(char *template)
+opentemp(char *template, int mode)
 {
-	int fd;
+	int fd, fd1;
 
 	fd = mkstemp(template);
 	if(fd < 0)
 		return -1;
-	remove(template);
-	return fd;
+	if((fd1 = open(template, mode)) < 0){
+		remove(template);
+		close(fd);
+		return -1;
+	}
+	close(fd);
+	return fd1;
 }