projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Quell more warnings and, perhaps, avoid alignment faults on 64-bit Windows.
[u/mdw/putty]
/
psftp.c
diff --git
a/psftp.c
b/psftp.c
index
cb5add3
..
65d52c3
100644
(file)
--- a/
psftp.c
+++ b/
psftp.c
@@
-16,6
+16,8
@@
#include "sftp.h"
#include "int64.h"
#include "sftp.h"
#include "int64.h"
+const char *const appname = "PSFTP";
+
/*
* Since SFTP is a request-response oriented protocol, it requires
* no buffer management: when we send data, we stop and wait for an
/*
* Since SFTP is a request-response oriented protocol, it requires
* no buffer management: when we send data, we stop and wait for an
@@
-707,7
+709,7
@@
int sftp_put_file(char *fname, char *outfname, int recurse, int restart)
if (!xfer_done(xfer)) {
pktin = sftp_recv();
ret = xfer_upload_gotpkt(xfer, pktin);
if (!xfer_done(xfer)) {
pktin = sftp_recv();
ret = xfer_upload_gotpkt(xfer, pktin);
- if (
!ret
) {
+ if (
ret <= 0 && !err
) {
printf("error while writing: %s\n", fxp_error());
err = 1;
}
printf("error while writing: %s\n", fxp_error());
err = 1;
}
@@
-2240,6
+2242,11
@@
struct sftp_command *sftp_getcmd(FILE *fp, int mode, int modeflags)
cmd->words = sresize(cmd->words, cmd->wordssize, char *);
cmd->words[0] = dupstr("!");
cmd->words[1] = dupstr(p+1);
cmd->words = sresize(cmd->words, cmd->wordssize, char *);
cmd->words[0] = dupstr("!");
cmd->words[1] = dupstr(p+1);
+ } else if (*p == '#') {
+ /*
+ * Special case: comment. Entire line is ignored.
+ */
+ cmd->nwords = cmd->wordssize = 0;
} else {
/*
} else {
/*
@@
-2511,7
+2518,8
@@
int from_backend(void *frontend, int is_stderr, const char *data, int datalen)
*/
if (is_stderr) {
if (len > 0)
*/
if (is_stderr) {
if (len > 0)
- fwrite(data, 1, len, stderr);
+ if (fwrite(data, 1, len, stderr) < len)
+ /* oh well */;
return 0;
}
return 0;
}