--- a/info/filesys.c
+++ b/info/filesys.c
@@ -60,6 +60,7 @@
   { ".xz", "unxz" },
   { ".bz2", "bunzip2" },
   { ".z", "gunzip" },
+  { ".br", "brunzip" },
   { ".lzma", "unlzma" },
   { ".Z", "uncompress" },
   { ".zst", "unzstd", "--rm", "-q" },
--- a/install-info/install-info.c
+++ b/install-info/install-info.c
@@ -438,6 +438,11 @@
       len -= 3;
       ret[len] = 0;
     }
+  else if (len > 3 && FILENAME_CMP (ret + len - 3, ".br") == 0)
+    {
+      len -= 3;
+      ret[len] = 0;
+    }
   else if (len > 5 && FILENAME_CMP (ret + len - 5, ".lzma") == 0)
    {
       len -= 5;
@@ -726,6 +731,12 @@
     }
   if (!f)
     {
+      free (*opened_filename);
+      *opened_filename = concat (filename, ".br", "");
+      f = fopen (*opened_filename, FOPEN_RBIN);
+    }
+  if (!f)
+    {
      free (*opened_filename);
      *opened_filename = concat (filename, ".lzma", "");
      f = fopen (*opened_filename, FOPEN_RBIN);
@@ -838,6 +849,14 @@
     *compression_program = "lzip";
 #endif
 
+  else if (data[0] == '\xce' && data[1] == '\xb2'
+           && data[2] == '\xcf' && data[3] == '\x81')
+#ifndef STRIP_DOT_EXE
+    *compression_program = "brzip.exe";
+#else
+    *compression_program = "brzip";
+#endif
+
     /* We (try to) match against old lzma format (which lacks proper
        header, two first matches), as well as the new format (last match).  */
   else if ((data[9] == 0x00 && data[10] == 0x00 && data[11] == 0x00




Reply via email to