diff options
| author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-10-31 20:08:43 +0100 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-10-31 20:08:43 +0100 |
| commit | a5169a483492de4b2fe2b625e523c877172d49ad (patch) | |
| tree | 7ee3866c0dacb70b64364bcde4bbcd0d5a4043c0 | |
| parent | 0f382bbf929a53b67fefe74499e01f6d5428a24d (diff) | |
| download | plan9front-a5169a483492de4b2fe2b625e523c877172d49ad.tar.xz | |
mothra: ask user for filename on save, override existing file
| -rw-r--r-- | sys/src/cmd/mothra/mothra.c | 28 |
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); |
