$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