summary refs log tree commit diff
path: root/pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch')
-rw-r--r--pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch141
1 files changed, 0 insertions, 141 deletions
diff --git a/pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch b/pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch
deleted file mode 100644
index 6db6c84e04a7..000000000000
--- a/pkgs/tools/text/dos2unix/dos2unix-3.1-tmppath.patch
+++ /dev/null
@@ -1,141 +0,0 @@
---- dos2unix-3.1/dos2unix.c.tmppath	2004-10-20 16:00:00.342561008 +0200
-+++ dos2unix-3.1/dos2unix.c	2004-10-20 16:01:42.210074792 +0200
-@@ -69,6 +69,7 @@
- #ifdef __MSDOS__
- #  include <dir.h>
- #endif __MSDOS__
-+#include <libgen.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -267,6 +268,39 @@
-     return RetVal;
- }
- 
-+static int MakeTempFileFrom(const char *OutFN, char **fname_ret)
-+{
-+  char *cpy = strdup(OutFN);
-+  char *dir = NULL;
-+  size_t fname_len = 0;
-+  char  *fname_str = NULL;
-+  int fd = -1;
-+  
-+  *fname_ret = NULL;
-+  
-+  if (!cpy)
-+    goto make_failed;
-+  
-+  dir = dirname(cpy);
-+  
-+  fname_len = strlen(dir) + strlen("/d2utmpXXXXXX") + sizeof (char);
-+  if (!(fname_str = malloc(fname_len)))
-+    goto make_failed;
-+  sprintf(fname_str, "%s%s", dir, "/d2utmpXXXXXX");
-+  *fname_ret = fname_str;
-+  
-+  free(cpy);
-+  
-+  if ((fd = mkstemp(fname_str)) == -1)
-+    goto make_failed;
-+  
-+  return (fd);
-+  
-+ make_failed:
-+  free(*fname_ret);
-+  *fname_ret = NULL;
-+  return (-1);
-+}
- 
- /* convert file ipInFN to UNIX format text and write to file ipOutFN
-  * RetVal: 0 if success
-@@ -277,7 +311,7 @@
-   int RetVal = 0;
-   FILE *InF = NULL;
-   FILE *TempF = NULL;
--  char TempPath[16];
-+  char *TempPath;
-   struct stat StatBuf;
-   struct utimbuf UTimeBuf;
-   int fd;
-@@ -286,8 +320,7 @@
-   if ((ipFlag->KeepDate) && stat(ipInFN, &StatBuf))
-     RetVal = -1;
- 
--  strcpy (TempPath, "./d2utmpXXXXXX");
--  if((fd=mkstemp (TempPath))<0) {
-+  if((fd = MakeTempFileFrom(ipOutFN, &TempPath))<0) {
- 	  perror("Failed to open output temp file");
- 	  RetVal = -1;
-   }
-@@ -304,6 +337,7 @@
-   if ((!RetVal) && (InF) && ((TempF=OpenOutFile(fd)) == NULL))
-   {
-     fclose (InF);
-+    InF = NULL;
-     RetVal = -1;
-   }
- 
-@@ -337,9 +371,6 @@
-   /* can rename temp file to out file? */
-   if (!RetVal)
-   {
--    if (stat(ipOutFN, &StatBuf) == 0)
--      unlink(ipOutFN);
--
-     if ((rename(TempPath, ipOutFN) == -1) && (!ipFlag->Quiet))
-     {
-       fprintf(stderr, "dos2unix: problems renaming '%s' to '%s'\n", TempPath, ipOutFN);
-@@ -347,6 +378,7 @@
-       RetVal = -1;
-     }
-   }
-+  free(TempPath);
-   return RetVal;
- }
- 
-@@ -362,7 +394,7 @@
-   int RetVal = 0;
-   FILE *InF = NULL;
-   FILE *TempF = NULL;
--  char TempPath[16];
-+  char *TempPath;
-   struct stat StatBuf;
-   struct utimbuf UTimeBuf;
-   mode_t mode = S_IRUSR | S_IWUSR;
-@@ -374,8 +406,7 @@
-   else
-     mode = StatBuf.st_mode;
- 
--  strcpy (TempPath, "./u2dtmpXXXXXX");
--  if((fd=mkstemp (TempPath))<0) {
-+  if((fd = MakeTempFileFrom(ipInFN, &TempPath))<0) {
- 	  perror("Failed to open output temp file");
- 	  RetVal = -1;
-   }
-@@ -395,6 +426,7 @@
-   if ((!RetVal) && (InF) && ((TempF=OpenOutFile(fd)) == NULL))
-   {
-     fclose (InF);
-+    InF = NULL;
-     RetVal = -1;
-   }
- 
-@@ -422,10 +454,6 @@
-       RetVal = -1;
-   }
- 
--  /* can delete in file? */
--  if ((!RetVal) && (unlink(ipInFN) == -1))
--    RetVal = -1;
--
-   /* any error? */
-   if ((RetVal) && (unlink(TempPath)))
-     RetVal = -1;
-@@ -440,6 +468,7 @@
-     }
-     RetVal = -1;
-   }
-+  free(TempPath);
-   return RetVal;
- }
-