Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.1
texinfo
texinfo-zlib.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File texinfo-zlib.patch of Package texinfo
Index: texinfo-6.5/install-info/Makefile.in =================================================================== --- texinfo-6.5.orig/install-info/Makefile.in +++ texinfo-6.5/install-info/Makefile.in @@ -222,7 +222,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_ginstall_info_OBJECTS = install-info.$(OBJEXT) ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS) -ginstall_info_LDADD = $(LDADD) +ginstall_info_LDADD = $(LDADD) -lzio am__DEPENDENCIES_1 = ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \ $(am__DEPENDENCIES_1) Index: texinfo-6.5/install-info/install-info.c =================================================================== --- texinfo-6.5.orig/install-info/install-info.c +++ texinfo-6.5/install-info/install-info.c @@ -22,6 +22,7 @@ #include <getopt.h> #include <regex.h> #include <argz.h> +#include <zio.h> #define TAB_WIDTH 8 @@ -701,34 +702,59 @@ open_possibly_compressed_file (char *fil *opened_filename = filename; f = fopen (*opened_filename, FOPEN_RBIN); + if (!compression_program) + compression_program = &local_compression_program; + *compression_program = NULL; + if (f) + { + nread = fread (data, sizeof (data), 1, f); + if (nread == 1) + { + if (data[0] == '\x1f' && data[1] == '\x8b') + *compression_program = "g"; + else if (data[0] == '\x1f' && data[1] == '\x9d') + *compression_program = "Z"; + else if (data[0] == '\x1f' && data[1] == '\x9e') + *compression_program = "z"; + else if (data[0] == 'B' && data[1] == 'Z' && data[2] == 'h') + *compression_program = "b"; + } + fclose (f); + f = fzopen (*opened_filename, FOPEN_RBIN); + } if (!f) { *opened_filename = concat (filename, ".gz", ""); - f = fopen (*opened_filename, FOPEN_RBIN); + f = fzopen (*opened_filename, FOPEN_RBIN); + *compression_program = "g"; } if (!f) { free (*opened_filename); *opened_filename = concat (filename, ".xz", ""); - f = fopen (*opened_filename, FOPEN_RBIN); + f = fzopen (*opened_filename, FOPEN_RBIN); + *compression_program = "x"; } if (!f) { free (*opened_filename); *opened_filename = concat (filename, ".bz2", ""); - f = fopen (*opened_filename, FOPEN_RBIN); + f = fzopen (*opened_filename, FOPEN_RBIN); + *compression_program = "b"; } if (!f) { free (*opened_filename); *opened_filename = concat (filename, ".lz", ""); - f = fopen (*opened_filename, FOPEN_RBIN); + f = fzopen (*opened_filename, FOPEN_RBIN); + *compression_program = "l"; } if (!f) { free (*opened_filename); *opened_filename = concat (filename, ".lzma", ""); - f = fopen (*opened_filename, FOPEN_RBIN); + f = fzopen (*opened_filename, FOPEN_RBIN); + *compression_program = "l"; } #ifdef __MSDOS__ if (!f) @@ -961,8 +987,22 @@ output_dirfile (char *dirfile, int dir_n if (compression_program) { - char *command = concat (compression_program, ">", dirfile); - output = popen (command, "w"); + output = NULL; + if (*compression_program == 'g' || *compression_program == 'z') + output = fzopen (dirfile, "wg"); + if (*compression_program == 'b') + output = fzopen (dirfile, "wb"); + if (*compression_program == 'Z') + output = fzopen (dirfile, "wZ"); + if (*compression_program == 'l') + output = fzopen (dirfile, "wl"); + if (*compression_program == 'x') + output = fzopen (dirfile, "wx"); + if (!output) + { + char *command = concat (compression_program, ">", dirfile); + output = popen (command, "w"); + } } else output = fopen (dirfile, "w");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor