Fix for UNICOS.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@538 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1093,6 +1093,9 @@ initconn(void)
|
|||||||
int a0, a1, a2, a3, p0, p1;
|
int a0, a1, a2, a3, p0, p1;
|
||||||
|
|
||||||
if (passivemode) {
|
if (passivemode) {
|
||||||
|
u_int32_t tmpaddr;
|
||||||
|
u_int16_t tmpport;
|
||||||
|
|
||||||
data = socket(AF_INET, SOCK_STREAM, 0);
|
data = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (data < 0) {
|
if (data < 0) {
|
||||||
perror("ftp: socket");
|
perror("ftp: socket");
|
||||||
@@ -1124,12 +1127,14 @@ initconn(void)
|
|||||||
|
|
||||||
memset(&data_addr, 0, sizeof(data_addr));
|
memset(&data_addr, 0, sizeof(data_addr));
|
||||||
data_addr.sin_family = AF_INET;
|
data_addr.sin_family = AF_INET;
|
||||||
a = (char *)&data_addr.sin_addr.s_addr;
|
tmpaddr = data_addr.sin_addr.s_addr;
|
||||||
|
a = (char *)&tmpaddr;
|
||||||
a[0] = a0 & 0xff;
|
a[0] = a0 & 0xff;
|
||||||
a[1] = a1 & 0xff;
|
a[1] = a1 & 0xff;
|
||||||
a[2] = a2 & 0xff;
|
a[2] = a2 & 0xff;
|
||||||
a[3] = a3 & 0xff;
|
a[3] = a3 & 0xff;
|
||||||
p = (char *)&data_addr.sin_port;
|
tmpport = data_addr.sin_port;
|
||||||
|
p = (char *)&tmpport;
|
||||||
p[0] = p0 & 0xff;
|
p[0] = p0 & 0xff;
|
||||||
p[1] = p1 & 0xff;
|
p[1] = p1 & 0xff;
|
||||||
|
|
||||||
|
@@ -5,6 +5,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <sys/bitypes.h>
|
||||||
|
#include <sys/cdefs.h>
|
||||||
|
|
||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@@ -118,11 +118,12 @@ main(int argc, char **argv)
|
|||||||
xargv[4] = NULL;
|
xargv[4] = NULL;
|
||||||
setpeer(argc+1, xargv);
|
setpeer(argc+1, xargv);
|
||||||
}
|
}
|
||||||
top = setjmp(toplevel) == 0;
|
if (setjmp(toplevel) == 0) {
|
||||||
if (top) {
|
top = 1;
|
||||||
(void) signal(SIGINT, intr);
|
(void) signal(SIGINT, intr);
|
||||||
(void) signal(SIGPIPE, lostpeer);
|
(void) signal(SIGPIPE, lostpeer);
|
||||||
}
|
} else
|
||||||
|
top = 0;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
cmdscanner(top);
|
cmdscanner(top);
|
||||||
top = 1;
|
top = 1;
|
||||||
|
Reference in New Issue
Block a user