diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-06-12 16:04:07 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-06-12 16:04:07 +0000 |
commit | 18226413dfb04765a0510fabef48e307ea1eb2ea (patch) | |
tree | bdccaa0c83994d824ab39e231cfb1e3d2ada9bf0 /binutils | |
parent | f91ea8497661e80927b17cabda43af803e60391c (diff) | |
download | gdb-18226413dfb04765a0510fabef48e307ea1eb2ea.zip gdb-18226413dfb04765a0510fabef48e307ea1eb2ea.tar.gz gdb-18226413dfb04765a0510fabef48e307ea1eb2ea.tar.bz2 |
* rename.c (O_BINARY): Define as 0 if not defined.
(simple_copy): Open files with O_BINARY.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 3 | ||||
-rw-r--r-- | binutils/rename.c | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 56f98b1..ab0b602 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,8 @@ 1999-06-12 Ian Lance Taylor <ian@zembu.com> + * rename.c (O_BINARY): Define as 0 if not defined. + (simple_copy): Open files with O_BINARY. + Based on patch from H. Peter Anvin <hpa@transmeta.com>: * objcopy.c (struct section_list): Add copy field. (sections_copied): New static variable. diff --git a/binutils/rename.c b/binutils/rename.c index f8314fb..78ea9fd 100644 --- a/binutils/rename.c +++ b/binutils/rename.c @@ -31,6 +31,12 @@ #endif /* HAVE_UTIMES */ #endif /* ! HAVE_GOOD_UTIME_H */ +/* We need to open the file in binary modes on system where that makes + a difference. */ +#ifndef O_BINARY +#define O_BINARY 0 +#endif + static int simple_copy PARAMS ((const char *, const char *)); /* The number of bytes to copy at once. */ @@ -48,10 +54,14 @@ simple_copy (from, to) int saved; char buf[COPY_BUF]; - fromfd = open (from, O_RDONLY); + fromfd = open (from, O_RDONLY | O_BINARY); if (fromfd < 0) return -1; +#ifdef O_CREAT + tofd = open (to, O_CREAT | O_WRONLY | O_TRUNC | O_BINARY, 0777); +#else tofd = creat (to, 0777); +#endif if (tofd < 0) { saved = errno; |