[w3m-dev 00572] -dump + input username

From: Hironori Sakamoto (hsaka@mth.biglobe.ne.jp)
Date: Mon May 15 2000 - 08:41:07 CDT


$B:dK\$G$9!#(B

aito $BO"MmD"$G(B -dump $B%*%W%7%g%s;HMQ;~$KG'>Z$,$G$-$J$$$H$N(B
$BJs9p$,$"$C$?$N$GD4$Y$F$_$?$H$3$m%f!<%6L>$r(B Strfgets() $B$G(B
$BF~NO$7$F$$$k$?$a$K2~9T$,F~$C$F$$$^$7$?!#$=$N=$@5(B patch $B$G$9!#(B
$B$^$?!"4XO"$7$F(B fgets $B$,$i$_$GLdBj$,$"$j$=$&$J$b$N$b=$@5$7$^$7$?!#(B
$B!t(B $B$?$@!"$I$&$d$i;H$o$l$F$$$J$$MM$J5$$,$9$k!D!#(B

$B5$$K$J$k$3$H!"(B
$B!&(BWeb $B%5!<%P$K2~9T$r4^$`%f!<%6L>$rAw$C$F$$$$$N$G$7$g$&$+!)(B
  $B8=9T$@$H!X(BC-v $B2~9T!Y$NMM$K$7$FF~NO$G$-$F$7$^$&$N$G!#(B
$B!&%f!<%6L>$+$i2~9T$r=|$/$N$K(B Strchop() $B$r;H$$$^$7$?$,!"(B
  Strchop() $B$O(B \r?\n?$ $B$G$J$/(B [\r\n]+$ $B$r=|$/MM$G$9!#(B
  $B$3$l$G$$$$$G$7$g$&$+!)(B
-----------------------------------
$B:dK\(B $B9@B'(B <hsaka@mth.biglobe.ne.jp>
 http://www2u.biglobe.ne.jp/~hsaka/

diff -u file.c.orig file.c
--- file.c.orig Wed May 10 23:35:41 2000
+++ file.c Mon May 15 22:07:33 2000
@@ -683,6 +683,7 @@
             printf("Username: ");
             fflush(stdout);
             uname = Strfgets(stdin);
+ Strchop(uname);
             pwd = Strnew_charp((char *) getpass("Password: "));
         }
         Strcat_char(uname, ':');
@@ -5218,11 +5219,13 @@
     else {
         printf("(Download)Save file to: ");
         fflush(stdout);
- fgets(filen, sizeof(filen), stdin);
- if (*filen == '\0')
+ p = fgets(filen, sizeof(filen), stdin);
+ if (p == NULL || *filen == '\0')
             return;
         for (p = filen + strlen(filen) - 1; IS_SPACE(*p); p--);
         *(p + 1) = '\0';
+ if (*filen == '\0')
+ return;
         p = filen;
         if (*p != '|') {
             p = expandName(p);
@@ -5271,11 +5274,13 @@
     else {
         printf("(Download)Save file to: ");
         fflush(stdout);
- fgets(filen, sizeof(filen), stdin);
- if (*filen == '\0')
+ p = fgets(filen, sizeof(filen), stdin);
+ if (p == NULL || *filen == '\0')
             return;
         for (p = filen + strlen(filen) - 1; IS_SPACE(*p); p--);
         *(p + 1) = '\0';
+ if (*filen == '\0')
+ return;
         p = expandName(filen);
         if (checkOverWrite(p) < 0)
             return;
@@ -5321,8 +5326,8 @@
 checkOverWrite(char *path)
 {
     struct stat st;
- char buf;
- char *ans;
+ char buf[2];
+ char *ans = NULL;
 
     if (stat(path, &st) < 0)
         return 0;
@@ -5331,8 +5336,7 @@
     }
     else {
         printf("File exists. Overwrite? (y or n)");
- fgets(&buf, 1, stdin);
- ans = &buf;
+ ans = fgets(buf, 2, stdin);
     }
     if (ans != NULL && (*ans == '\0' || tolower(*ans) == 'y'))
         return 0;



This archive was generated by hypermail 2b29 : Wed Jul 19 2000 - 10:30:55 CDT