summaryrefslogtreecommitdiffstats
path: root/source/a/ncompress/ncompress.filenamelen.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/ncompress/ncompress.filenamelen.diff')
-rw-r--r--source/a/ncompress/ncompress.filenamelen.diff98
1 files changed, 0 insertions, 98 deletions
diff --git a/source/a/ncompress/ncompress.filenamelen.diff b/source/a/ncompress/ncompress.filenamelen.diff
deleted file mode 100644
index 67676c7a8..000000000
--- a/source/a/ncompress/ncompress.filenamelen.diff
+++ /dev/null
@@ -1,98 +0,0 @@
---- ncompress-4.2.4/compress42.c.filenamelen Wed Nov 21 12:19:38 2001
-+++ ncompress-4.2.4/compress42.c Wed Nov 21 12:20:03 2001
-@@ -140,6 +140,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <errno.h>
-+#include <string.h>
-
- #ifdef DIRENT
- # include <dirent.h>
-@@ -213,7 +214,7 @@
- # define OBUFSIZ BUFSIZ /* Default output buffer size */
- #endif
-
--#define MAXPATHLEN 1024 /* MAXPATHLEN - maximum length of a pathname we allow */
-+#define MAXPATHLEN PATH_MAX /* MAXPATHLEN - maximum length of a pathname we allow */
- #define SIZE_INNER_LOOP 256 /* Size of the inter (fast) compress loop */
-
- /* Defines for third byte of header */
-@@ -641,13 +642,11 @@
- } ;
- #endif
-
--void main ARGS((int,char **));
- void Usage ARGS((void));
- void comprexx ARGS((char **));
- void compdir ARGS((char *));
- void compress ARGS((int,int));
- void decompress ARGS((int,int));
--char *rindex ARGS((char *,int));
- void read_error ARGS((void));
- void write_error ARGS((void));
- void abort_compress ARGS((void));
-@@ -694,13 +693,15 @@
- * deterministic, and can be done on the fly. Thus, the decompression
- * procedure needs no input table, but tracks the way the table was built.
- */
--void
-+int
- main(argc, argv)
- REG1 int argc;
- REG2 char *argv[];
- {
- REG3 char **filelist;
- REG4 char **fileptr;
-+ int i;
-+
-
- if (fgnd_flag = (signal(SIGINT, SIG_IGN) != SIG_IGN))
- signal(SIGINT, (SIG_TYPE)abort_compress);
-@@ -714,7 +715,14 @@
- nomagic = 1; /* Original didn't have a magic number */
- #endif
-
-- filelist = fileptr = (char **)malloc(argc*sizeof(char *));
-+ for(i=0;i<argc;i++){
-+ if(strlen(argv[i])>(MAXPATHLEN-1)){
-+ fprintf(stderr,"Filename too long\n");
-+ exit(1);
-+ }
-+ }
-+
-+ filelist = fileptr = (char **)malloc(argc*sizeof(char *));
- *filelist = NULL;
-
- if((progname = rindex(argv[0], '/')) != 0)
-@@ -853,8 +861,9 @@
- else
- decompress(0, 1);
- }
--
-+
- exit((exit_code== -1) ? 1:exit_code);
-+ return 0;
- }
-
- void
-@@ -1801,20 +1810,6 @@
- write_error();
- }
-
--char *
--rindex(s, c) /* For those who don't have it in libc.a */
-- REG1 char *s;
-- REG2 int c;
-- {
-- char *p;
--
-- for (p = NULL; *s; s++)
-- if (*s == (char)c)
-- p = s;
--
-- return(p);
-- }
--
- void
- read_error()
- {