Fix some bugs and typos.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@1547 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-04-05 21:01:41 +00:00
parent 6dd290313a
commit 6901229de9
3 changed files with 1267 additions and 1264 deletions

View File

@@ -768,7 +768,8 @@ remglob(char **argv, int doswitch)
} }
} }
if (fgets(buf, sizeof (buf), ftemp) == NULL) { if (fgets(buf, sizeof (buf), ftemp) == NULL) {
fclose(ftemp), ftemp = NULL; fclose(ftemp);
ftemp = NULL;
return (NULL); return (NULL);
} }
if ((cp = strchr(buf, '\n')) != NULL) if ((cp = strchr(buf, '\n')) != NULL)
@@ -1211,7 +1212,7 @@ shell(int argc, char **argv)
exit(1); exit(1);
} }
if (pid > 0) if (pid > 0)
while (wait(&status) != pid) while (waitpid(-1, 0, &status) != pid)
; ;
signal(SIGINT, old1); signal(SIGINT, old1);
signal(SIGQUIT, old2); signal(SIGQUIT, old2);
@@ -1933,7 +1934,7 @@ restart(int argc, char **argv)
if (argc != 2) if (argc != 2)
printf("restart: offset not specified\n"); printf("restart: offset not specified\n");
else { else {
off_t restart_point = atol(argv[1]); restart_point = atol(argv[1]);
printf("restarting at %ld. %s\n", (long)restart_point, printf("restarting at %ld. %s\n", (long)restart_point,
"execute get, put or append to initiate transfer"); "execute get, put or append to initiate transfer");
} }

View File

@@ -57,8 +57,7 @@ hookup(char *host, int port)
static char hostnamebuf[80]; static char hostnamebuf[80];
memset(&hisctladdr, 0, sizeof (hisctladdr)); memset(&hisctladdr, 0, sizeof (hisctladdr));
hisctladdr.sin_addr.s_addr = inet_addr(host); if(inet_aton(host, &hisctladdr.sin_addr)){
if (hisctladdr.sin_addr.s_addr != INADDR_NONE) {
hisctladdr.sin_family = AF_INET; hisctladdr.sin_family = AF_INET;
strncpy(hostnamebuf, host, sizeof(hostnamebuf)); strncpy(hostnamebuf, host, sizeof(hostnamebuf));
} else { } else {
@@ -119,7 +118,7 @@ hookup(char *host, int port)
code = -1; code = -1;
goto bad; goto bad;
} }
#if defined(IP_TOS) && defined(SETSOCKOPT) #if defined(IP_TOS) && defined(HAVE_SETSOCKOPT)
tos = IPTOS_LOWDELAY; tos = IPTOS_LOWDELAY;
if (setsockopt(s, IPPROTO_IP, IP_TOS, (char *)&tos, sizeof(int)) < 0) if (setsockopt(s, IPPROTO_IP, IP_TOS, (char *)&tos, sizeof(int)) < 0)
warn("setsockopt TOS (ignored)"); warn("setsockopt TOS (ignored)");
@@ -223,7 +222,7 @@ login(char *host)
} }
if (n == CONTINUE) { if (n == CONTINUE) {
aflag++; aflag++;
acct = malloc(128); /* XXX */ acct = tmp;
des_read_pw_string(acct, 128, "Account:", 0); des_read_pw_string(acct, 128, "Account:", 0);
n = command("ACCT %s", acct); n = command("ACCT %s", acct);
} }
@@ -266,8 +265,6 @@ command(char *fmt, ...)
sighand oldintr; sighand oldintr;
abrtflag = 0; abrtflag = 0;
if (debug)
printf("---> ");
if (cout == NULL) { if (cout == NULL) {
warn("No control connection for command"); warn("No control connection for command");
code = -1; code = -1;
@@ -275,11 +272,14 @@ command(char *fmt, ...)
} }
oldintr = signal(SIGINT, cmdabort); oldintr = signal(SIGINT, cmdabort);
va_start(ap, fmt); va_start(ap, fmt);
if(debug) if(debug){
printf("---> ");
if (strncmp("PASS ", fmt, 5) == 0) if (strncmp("PASS ", fmt, 5) == 0)
printf("PASS XXXX"); printf("PASS XXXX");
else else
vfprintf(stdout, fmt, ap); vfprintf(stdout, fmt, ap);
va_start(ap, fmt);
}
if(auth_complete) if(auth_complete)
krb4_write_enc(cout, fmt, ap); krb4_write_enc(cout, fmt, ap);
else else
@@ -328,7 +328,8 @@ getreply(int expecteof)
} }
lostpeer(0); lostpeer(0);
if (verbose) { if (verbose) {
printf("421 Service not available, remote server has closed connection\n"); printf("421 Service not available, "
"remote server has closed connection\n");
fflush(stdout); fflush(stdout);
} }
code = 421; code = 421;
@@ -368,7 +369,7 @@ getreply(int expecteof)
sigaction(SIGINT, &osa, NULL); sigaction(SIGINT, &osa, NULL);
if (code == 421) if (code == 421)
lostpeer(0); lostpeer(0);
#if 0 #if 1
if (abrtflag && if (abrtflag &&
osa.sa_handler != cmdabort && osa.sa_handler != cmdabort &&
osa.sa_handler != SIG_IGN) osa.sa_handler != SIG_IGN)
@@ -492,8 +493,6 @@ getreply(int expecteof)
n = code / 100 + '0'; n = code / 100 + '0';
} }
if (n != '1') if (n != '1')
cpend = 0; cpend = 0;
signal(SIGINT,oldintr); signal(SIGINT,oldintr);
@@ -513,7 +512,7 @@ empty(fd_set *mask, int sec)
t.tv_sec = (long) sec; t.tv_sec = (long) sec;
t.tv_usec = 0; t.tv_usec = 0;
return (select(32, mask, (fd_set *) 0, (fd_set *) 0, &t)); return (select(32, mask, NULL, NULL, &t));
} }
jmp_buf sendabort; jmp_buf sendabort;

View File

@@ -114,19 +114,18 @@ main(int argc, char **argv)
exit(0); exit(0);
signal(SIGINT, intr); signal(SIGINT, intr);
signal(SIGPIPE, lostpeer); signal(SIGPIPE, lostpeer);
xargv[0] = argv[0]; /* or should this be "ftp"? */ xargv[0] = (char*)__progname;
xargv[1] = argv[0]; xargv[1] = argv[0];
xargv[2] = argv[1]; xargv[2] = argv[1];
xargv[3] = argv[2]; xargv[3] = argv[2];
xargv[4] = NULL; xargv[4] = NULL;
setpeer(argc+1, xargv); setpeer(argc+1, xargv);
} }
if (setjmp(toplevel) == 0) { top = setjmp(toplevel) == 0;
top = 1; if (top) {
signal(SIGINT, intr); signal(SIGINT, intr);
signal(SIGPIPE, lostpeer); signal(SIGPIPE, lostpeer);
} else }
top = 0;
for (;;) { for (;;) {
cmdscanner(top); cmdscanner(top);
top = 1; top = 1;
@@ -140,18 +139,22 @@ intr(int sig)
longjmp(toplevel, 1); longjmp(toplevel, 1);
} }
#ifndef SHUT_RDWR
#define SHUT_RDWR 2
#endif
RETSIGTYPE RETSIGTYPE
lostpeer(int sig) lostpeer(int sig)
{ {
if (connected) { if (connected) {
if (cout != NULL) { if (cout != NULL) {
shutdown(fileno(cout), 1+1); shutdown(fileno(cout), SHUT_RDWR);
fclose(cout); fclose(cout);
cout = NULL; cout = NULL;
} }
if (data >= 0) { if (data >= 0) {
shutdown(data, 1+1); shutdown(data, SHUT_RDWR);
close(data); close(data);
data = -1; data = -1;
} }
@@ -160,7 +163,7 @@ lostpeer(int sig)
pswitch(1); pswitch(1);
if (connected) { if (connected) {
if (cout != NULL) { if (cout != NULL) {
shutdown(fileno(cout), 1+1); shutdown(fileno(cout), SHUT_RDWR);
fclose(cout); fclose(cout);
cout = NULL; cout = NULL;
} }