* mdocml: Make makewhatis(8) understand .so links to .gz pages.
@ 2014-11-27 1:58 schwarze
0 siblings, 0 replies; only message in thread
From: schwarze @ 2014-11-27 1:58 UTC (permalink / raw)
To: source
Log Message:
-----------
Make makewhatis(8) understand .so links to .gz pages.
Drop the FORM_GZ annotation in the mpages table; it is conceptually wrong
because it ought to be in the mlinks table: An uncompressed .so link file
can point to a compressed manual page file and vice versa.
Besides, it is no longer needed because mparse_open() handles it all.
Sprinkle some KNF while here.
Modified Files:
--------------
mdocml:
mandocdb.c
mansearch.c
mansearch.h
Revision Data
-------------
Index: mansearch.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mansearch.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -Lmansearch.c -Lmansearch.c -u -p -r1.50 -r1.51
--- mansearch.c
+++ mansearch.c
@@ -410,7 +410,6 @@ buildnames(struct manpage *mpage, sqlite
{
char *newnames, *prevsec, *prevarch;
const char *oldnames, *sep1, *name, *sec, *sep2, *arch, *fsec;
- const char *gzip;
size_t i;
int c;
@@ -473,7 +472,7 @@ buildnames(struct manpage *mpage, sqlite
/* Also save the first file name encountered. */
- if (NULL != mpage->file)
+ if (mpage->file != NULL)
continue;
if (form & FORM_SRC) {
@@ -483,22 +482,18 @@ buildnames(struct manpage *mpage, sqlite
sep1 = "cat";
fsec = "0";
}
- if (form & FORM_GZ)
- gzip = ".gz";
- else
- gzip = "";
- sep2 = '\0' == *arch ? "" : "/";
- mandoc_asprintf(&mpage->file, "%s/%s%s%s%s/%s.%s%s",
- path, sep1, sec, sep2, arch, name, fsec, gzip);
+ sep2 = *arch == '\0' ? "" : "/";
+ mandoc_asprintf(&mpage->file, "%s/%s%s%s%s/%s.%s",
+ path, sep1, sec, sep2, arch, name, fsec);
}
- if (SQLITE_DONE != c)
+ if (c != SQLITE_DONE)
fprintf(stderr, "%s\n", sqlite3_errmsg(db));
sqlite3_reset(s);
/* Append one final section to the names. */
- if (NULL != prevsec) {
- sep2 = '\0' == *prevarch ? "" : "/";
+ if (prevsec != NULL) {
+ sep2 = *prevarch == '\0' ? "" : "/";
mandoc_asprintf(&newnames, "%s(%s%s%s)",
mpage->names, prevsec, sep2, prevarch);
free(mpage->names);
Index: mandocdb.c
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mandocdb.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -Lmandocdb.c -Lmandocdb.c -u -p -r1.170 -r1.171
--- mandocdb.c
+++ mandocdb.c
@@ -1093,13 +1093,13 @@ mpages_merge(struct mchars *mc, struct m
str_info.free = hash_free;
str_info.key_offset = offsetof(struct str, key);
- if (0 == nodb)
+ if ( ! nodb)
SQL_EXEC("BEGIN TRANSACTION");
mpage = ohash_first(&mpages, &pslot);
- while (NULL != mpage) {
+ while (mpage != NULL) {
mlinks_undupe(mpage);
- if (NULL == mpage->mlinks) {
+ if (mpage->mlinks == NULL) {
mpage = ohash_next(&mpages, &pslot);
continue;
}
@@ -1123,17 +1123,23 @@ mpages_merge(struct mchars *mc, struct m
* source code, unless it is already known to be
* formatted. Fall back to formatted mode.
*/
- if (FORM_CAT != mpage->mlinks->dform ||
- FORM_CAT != mpage->mlinks->fform) {
+ if (mpage->mlinks->dform != FORM_CAT ||
+ mpage->mlinks->fform != FORM_CAT) {
lvl = mparse_readfd(mp, fd, mpage->mlinks->file);
if (lvl < MANDOCLEVEL_FATAL)
mparse_result(mp, &mdoc, &man, &sodest);
}
- if (NULL != sodest) {
+ if (sodest != NULL) {
mlink_dest = ohash_find(&mlinks,
ohash_qlookup(&mlinks, sodest));
- if (NULL != mlink_dest) {
+ if (mlink_dest == NULL) {
+ mandoc_asprintf(&cp, "%s.gz", sodest);
+ mlink_dest = ohash_find(&mlinks,
+ ohash_qlookup(&mlinks, cp));
+ free(cp);
+ }
+ if (mlink_dest != NULL) {
/* The .so target exists. */
@@ -1154,7 +1160,7 @@ mpages_merge(struct mchars *mc, struct m
if (mpage_dest->pageid)
dbadd_mlink_name(mlink);
- if (NULL == mlink->next)
+ if (mlink->next == NULL)
break;
mlink = mlink->next;
}
@@ -1166,17 +1172,17 @@ mpages_merge(struct mchars *mc, struct m
mpage->mlinks = NULL;
}
goto nextpage;
- } else if (NULL != mdoc) {
+ } else if (mdoc != NULL) {
mpage->form = FORM_SRC;
mpage->sec = mdoc_meta(mdoc)->msec;
mpage->sec = mandoc_strdup(
- NULL == mpage->sec ? "" : mpage->sec);
+ mpage->sec == NULL ? "" : mpage->sec);
mpage->arch = mdoc_meta(mdoc)->arch;
mpage->arch = mandoc_strdup(
- NULL == mpage->arch ? "" : mpage->arch);
+ mpage->arch == NULL ? "" : mpage->arch);
mpage->title =
mandoc_strdup(mdoc_meta(mdoc)->title);
- } else if (NULL != man) {
+ } else if (man != NULL) {
mpage->form = FORM_SRC;
mpage->sec =
mandoc_strdup(man_meta(man)->msec);
@@ -1193,8 +1199,6 @@ mpages_merge(struct mchars *mc, struct m
mpage->title =
mandoc_strdup(mpage->mlinks->name);
}
- if (mpage->mlinks->gzip)
- mpage->form |= FORM_GZ;
putkey(mpage, mpage->sec, TYPE_sec);
if (*mpage->arch != '\0')
putkey(mpage, mpage->arch, TYPE_arch);
Index: mansearch.h
===================================================================
RCS file: /home/cvs/mdocml/mdocml/mansearch.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lmansearch.h -Lmansearch.h -u -p -r1.20 -r1.21
--- mansearch.h
+++ mansearch.h
@@ -70,7 +70,6 @@
#define FORM_CAT 0 /* manual page is preformatted */
#define FORM_SRC 1 /* format is mdoc(7) or man(7) */
-#define FORM_GZ 2 /* compressed with gzip(1) */
#define FORM_NONE 4 /* format is unknown */
enum argmode {
--
To unsubscribe send an email to source+unsubscribe@mdocml.bsd.lv
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-11-27 1:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-27 1:58 mdocml: Make makewhatis(8) understand .so links to .gz pages schwarze
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).