summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-10-31 20:08:43 +0100
committercinap_lenrek <cinap_lenrek@centraldogma>2011-10-31 20:08:43 +0100
commita5169a483492de4b2fe2b625e523c877172d49ad (patch)
tree7ee3866c0dacb70b64364bcde4bbcd0d5a4043c0
parent0f382bbf929a53b67fefe74499e01f6d5428a24d (diff)
downloadplan9front-a5169a483492de4b2fe2b625e523c877172d49ad.tar.xz
mothra: ask user for filename on save, override existing file
-rw-r--r--sys/src/cmd/mothra/mothra.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/sys/src/cmd/mothra/mothra.c b/sys/src/cmd/mothra/mothra.c
index 4cbc8e867..543fee0ec 100644
--- a/sys/src/cmd/mothra/mothra.c
+++ b/sys/src/cmd/mothra/mothra.c
@@ -535,7 +535,7 @@ void save(int ifd, char *name){
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 @@ void docmd(Panel *p, char *s){
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 freeurl(Url *u){
*/
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 @@ void geturl(char *urlname, int method, char *body, int plumb, int map){
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);