coreutils: update to 9.4

patches were copied from CygWin.
This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2023-09-19 19:36:52 +01:00
parent 225c968276
commit ddf66eac75
32 changed files with 1184 additions and 1143 deletions

View File

@@ -0,0 +1,45 @@
--- origsrc/src/dd.c 2016-11-09 15:11:35.000000000 -0600
+++ src/src/dd.c 2017-02-03 13:32:48.741217700 -0600
@@ -37,6 +37,10 @@
#include "xstrtol.h"
#include "xtime.h"
+#ifdef __CYGWIN__
+# include <io.h>
+#endif
+
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "dd"
@@ -1989,6 +1993,13 @@ copy_with_unblock (char const *buf, size
static void
set_fd_flags (int fd, int add_flags, char const *name)
{
+#if __CYGWIN__
+ /* Cygwin does not allow fcntl to set the mode. */
+ int mode_flags = add_flags & (O_BINARY | O_TEXT);
+ add_flags &= ~(O_BINARY | O_TEXT);
+ if (mode_flags && setmode (fd, mode_flags) == -1)
+ error (EXIT_FAILURE, errno, _("setting flags for %s"), quote (name));
+#endif /* __CYGWIN__ */
/* Ignore file creation flags that are no-ops on file descriptors. */
add_flags &= ~ (O_NOCTTY | O_NOFOLLOW);
@@ -2379,6 +2390,8 @@ main (int argc, char **argv)
}
else
{
+ if ((input_flags & (O_BINARY | O_TEXT)) == 0)
+ input_flags |= O_BINARY;
if (ifd_reopen (STDIN_FILENO, input_file, O_RDONLY | input_flags, 0) < 0)
die (EXIT_FAILURE, errno, _("failed to open %s"),
quoteaf (input_file));
@@ -2402,6 +2415,8 @@ main (int argc, char **argv)
| (conversions_mask & C_NOCREAT ? 0 : O_CREAT)
| (conversions_mask & C_EXCL ? O_EXCL : 0)
| (seek_records || (conversions_mask & C_NOTRUNC) ? 0 : O_TRUNC));
+ if ((opts & (O_BINARY | O_TEXT)) == 0)
+ opts |= O_BINARY;
/* Open the output file with *read* access only if we might
need to read to satisfy a 'seek=' request. If we can't read