git: 9front

Download patch

ref: f1e5c17b3213af6ee546e79323ddfcf9c29e0131
parent: 8967c36896c603410908b73639c5a9326889d61f
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Mon Oct 31 16:08:43 EDT 2011

mothra: ask user for filename on save, override existing file

--- a/sys/src/cmd/mothra/mothra.c
+++ b/sys/src/cmd/mothra/mothra.c
@@ -535,7 +535,7 @@
 		message("save: %s: %r", name);
 		return;
 	}
-	ofd=create(name, OEXCL|OWRITE, 0666);
+	ofd=create(name, OWRITE, 0666);
 	if(ofd < 0){
 		message("save: %s: %r", name);
 		return;
@@ -684,11 +684,13 @@
 			message("no url selected");
 			break;
 		}
-		if(s==0 || *s=='\0')
-			s = urltofile(selection);
 		if(s==0 || *s=='\0'){
-			message("Usage: s file");
-			break;
+			static char buf[NNAME];
+
+			snprint(buf, sizeof(buf), "%s", urltofile(selection));
+			if(eenter("Save to", buf, sizeof(buf), &mouse) <= 0)
+				break;
+			s = buf;
 		}
 		save(urlopen(selection, GET, 0), s);
 		break;
@@ -961,7 +963,7 @@
  */
 void geturl(char *urlname, int method, char *body, int plumb, int map){
 	int i, fd, typ;
-	char *file, cmd[NNAME];
+	char cmd[NNAME];
 	int pfd[2];
 	Www *w;
 
@@ -1002,16 +1004,12 @@
 				close(fd);
 				break;
 			}
-			file = urltofile(selection);
-			if(!mothmode){
-				message("save to '%s' ?", file);
-				if(!confirm(1)){
-					message(mothra);
-					close(fd);
-					break;
-				}
+			snprint(cmd, sizeof(cmd), "%s", urltofile(selection));
+			if(eenter("Save to", cmd, sizeof(cmd), &mouse) <= 0){
+				close(fd);
+				break;
 			}
-			save(fd, file);
+			save(fd, cmd);
 			break;
 		case HTML:
 			fd = pipeline("/bin/uhtml", fd);
--