diff options
Diffstat (limited to 'scp.c')
-rw-r--r-- | scp.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -545,9 +545,17 @@ syserr: run_err("%s: %s", name, strerror(errno)); | |||
545 | goto next; | 545 | goto next; |
546 | } | 546 | } |
547 | #define FILEMODEMASK (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO) | 547 | #define FILEMODEMASK (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO) |
548 | #ifdef HAVE_INT64_T | ||
548 | snprintf(buf, sizeof buf, "C%04o %lld %s\n", | 549 | snprintf(buf, sizeof buf, "C%04o %lld %s\n", |
549 | (u_int) (stb.st_mode & FILEMODEMASK), | 550 | (u_int) (stb.st_mode & FILEMODEMASK), |
550 | (long long) stb.st_size, last); | 551 | (long long) stb.st_size, last); |
552 | #else | ||
553 | /* XXX: Handle integer overflow? */ | ||
554 | snprintf(buf, sizeof buf, "C%04o %ld %s\n", | ||
555 | (u_int) (stb.st_mode & FILEMODEMASK), | ||
556 | (long) stb.st_size, last); | ||
557 | #endif | ||
558 | |||
551 | if (verbose_mode) { | 559 | if (verbose_mode) { |
552 | fprintf(stderr, "Sending file modes: %s", buf); | 560 | fprintf(stderr, "Sending file modes: %s", buf); |
553 | fflush(stderr); | 561 | fflush(stderr); |