Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37323641
en ru br
Репозитории ALT
S:7.5.1-alt1
5.1: 3.1-alt1
4.1: 3.1-alt1
3.0:
+backports:3.1-alt0.M30.1
www.altlinux.org/Changes

Группа :: Работа с текстами
Пакет: dos2unix

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: dos2unix-3.1-preserve-file-modes.patch
Скачать


--- dos2unix-3.1/dos2unix.c.mode	2003-05-21 08:09:08.000000000 -0700
+++ dos2unix-3.1/dos2unix.c	2003-05-21 08:09:56.000000000 -0700
@@ -345,11 +345,14 @@ int ConvertDosToUnixOldFile(char* ipInFN
   char TempPath[16];
   struct stat StatBuf;
   struct utimbuf UTimeBuf;
+  mode_t mode = S_IRUSR | S_IWUSR;
   int fd;
 
   /* retrieve ipInFN file date stamp */
-  if ((ipFlag->KeepDate) && stat(ipInFN, &StatBuf))
+  if (stat(ipInFN, &StatBuf))
     RetVal = -1;
+  else
+    mode = StatBuf.st_mode;
 
   strcpy (TempPath, "./u2dtmpXXXXXX");
   if((fd=mkstemp (TempPath))<0) {
@@ -357,6 +360,9 @@ int ConvertDosToUnixOldFile(char* ipInFN
 	  RetVal = -1;
   }
 
+  if (!RetVal && fchmod (fd, mode) && fchmod (fd, S_IRUSR | S_IWUSR))
+    RetVal = -1;
+
 #ifdef DEBUG
   fprintf(stderr, "dos2unix: using %s as temp file\n", TempPath);
 #endif DEBUG
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin