Group :: System/X11
RPM: xman
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: xman-1.0.2-bzip2_support.patch
Download
Download
--- xman-1.0.2/man.c.bzip2 2005-11-08 01:33:33.000000000 -0500
+++ xman-1.0.2/man.c 2006-06-06 13:36:38.000000000 -0400
@@ -447,6 +447,10 @@
else if (streq(ptr + 1, GZIP_EXTENSION))
*ptr = '\0';
#endif
+#ifdef BZIP2_EXTENSION
+ else if (streq(ptr + 1, BZIP2_EXTENSION))
+ *ptr = '\0';
+#endif
}
nentries = local_manual->nentries;
@@ -485,6 +489,10 @@
else if (streq(ptr + 1, GZIP_EXTENSION))
*ptr = '\0';
#endif
+#ifdef BZIP2_EXTENSION
+ else if (streq(ptr + 1, BZIP2_EXTENSION))
+ *ptr = '\0';
+#endif
#ifdef IGNORE_EXTENSION
/* skip files with specified extension - they're not real man pages */
else if (streq(ptr + 1, IGNORE_EXTENSION)) {
--- xman-1.0.2/misc.c.bzip2 2005-11-08 01:33:33.000000000 -0500
+++ xman-1.0.2/misc.c 2006-06-06 13:36:38.000000000 -0400
@@ -255,6 +255,14 @@
return(file);
}
#endif
+#ifdef BZIP2_EXTENSION
+ {
+ sprintf(filename, "%s/%s%s/%s.%s", path, CAT,
+ section + len_cat, page, BZIP2_EXTENSION);
+ if ( (file = Uncompress(man_globals, filename)) != NULL)
+ return(file);
+ }
+#endif
#else
for(i = 0; i < strlen(COMPRESSION_EXTENSIONS); i++) {
snprintf(filename, sizeof(filename), "%s/%s%s/%s.%c", path, CAT,
@@ -381,6 +389,12 @@
snprintf(cmdbuf, sizeof(cmdbuf), GUNZIP_FORMAT, filename, output);
else
#endif
+#ifdef BZIP2_EXTENSION
+ if (streq(filename + strlen(filename) - strlen(BZIP2_EXTENSION),
+ BZIP2_EXTENSION))
+ sprintf(cmdbuf, BUNZIP2_FORMAT, filename, output);
+ else
+#endif
snprintf(cmdbuf, sizeof(cmdbuf), UNCOMPRESS_FORMAT, filename, output);
if(system(cmdbuf) == 0) /* execute search. */
return(TRUE);
@@ -807,6 +821,8 @@
ParseEntry(entry, path, section, page);
+ man_globals->bzip2 = FALSE;
+
#if defined(__OpenBSD__) || defined(__NetBSD__)
/*
* look for uncompressed file in machine subdir first
@@ -856,6 +872,25 @@
}
#endif /* GZIP_EXTENSION */
#endif /* __OpenBSD__ || __NetBSD__ */
+
+#ifdef BZIP2_EXTENSION
+ {
+ sprintf(input, "%s.%s", filename, BZIP2_EXTENSION);
+#ifndef HAS_MKSTEMP
+ if ( UncompressNamed(man_globals, input, filename) ) {
+#else
+ if ( UncompressNamed(man_globals, input, filename, file) ) {
+#endif
+ man_globals->compress = TRUE;
+ man_globals->gzip = FALSE;
+ man_globals->bzip2 = TRUE;
+ sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path,
+ CAT, section + len_cat, page, BZIP2_EXTENSION);
+ return(TRUE);
+ }
+ }
+#endif /* BZIP2_EXTENSION */
+
/*
* Look for uncompressed file first.
*/
@@ -925,6 +960,24 @@
}
}
#endif
+
+#ifdef BZIP2_EXTENSION
+ {
+ sprintf(input, "%s.%s", filename, BZIP2_EXTENSION);
+#ifndef HAS_MKSTEMP
+ if ( UncompressNamed(man_globals, input, filename) ) {
+#else
+ if ( UncompressNamed(man_globals, input, filename, file) ) {
+#endif
+ man_globals->compress = TRUE;
+ man_globals->gzip = TRUE;
+ sprintf(man_globals->save_file, "%s/%s%s/%s.%s", path,
+ CAT, section + len_cat, page, BZIP2_EXTENSION);
+ return(TRUE);
+ }
+ }
+#endif
+
/*
* And lastly files in a compressed directory.
*/
--- xman-1.0.2/vendor.h.bzip2 2005-11-08 01:33:33.000000000 -0500
+++ xman-1.0.2/vendor.h 2006-06-06 13:36:37.000000000 -0400
@@ -137,6 +137,13 @@
# define GUNZIP_FORMAT "gzip -c -d < %s >> %s"
# endif
# define GZIP_COMPRESS "gzip"
+# define BZIP2_EXTENSION "bz2"
+# ifndef HAS_MKSTEMP
+# define BUNZIP2_FORMAT "bunzip2 -c -d < %s > %s"
+# else
+# define BUNZIP2_FORMAT "bunzip2 -c -d < %s >> %s"
+# endif
+# define BZIP2_COMPRESS "bzip2"
#endif
@@ -180,7 +187,7 @@
# define TBL "tbl"
#else /* HANDLE_ROFFSEQ */
# if defined(linux)
-# define ZSOELIM "zsoelim"
+# define ZSOELIM "soelim"
# else
# define ZSOELIM "soelim"
#endif
--- xman-1.0.2/man.h.bzip2 2004-09-02 04:40:33.000000000 -0400
+++ xman-1.0.2/man.h 2006-06-06 13:36:38.000000000 -0400
@@ -166,6 +166,7 @@
page from. */
Boolean compress; /* Compress file on save? */
Boolean gzip; /* Gzip file on save? */
+ Boolean bzip2; /* Bzip2 file on save? */
Boolean deletetempfile; /* Need to delete tempfile when done? */
char ** section_name; /* The name of each of the sections */