=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/mandocdb.c,v retrieving revision 1.152 retrieving revision 1.153 diff -c -r1.152 -r1.153 *** src/usr.bin/mandoc/mandocdb.c 2015/10/12 00:07:27 1.152 --- src/usr.bin/mandoc/mandocdb.c 2015/10/12 00:32:37 1.153 *************** *** 1,4 **** ! /* $OpenBSD: mandocdb.c,v 1.152 2015/10/12 00:07:27 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011-2015 Ingo Schwarze --- 1,4 ---- ! /* $OpenBSD: mandocdb.c,v 1.153 2015/10/12 00:32:37 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011-2015 Ingo Schwarze *************** *** 574,580 **** f = fts_open((char * const *)argv, FTS_PHYSICAL | FTS_NOCHDIR, NULL); ! if (NULL == f) { exitcode = (int)MANDOCLEVEL_SYSERR; say("", "&fts_open"); return 0; --- 574,580 ---- f = fts_open((char * const *)argv, FTS_PHYSICAL | FTS_NOCHDIR, NULL); ! if (f == NULL) { exitcode = (int)MANDOCLEVEL_SYSERR; say("", "&fts_open"); return 0; *************** *** 583,589 **** dsec = arch = NULL; dform = FORM_NONE; ! while (NULL != (ff = fts_read(f))) { path = ff->fts_path + 2; switch (ff->fts_info) { --- 583,589 ---- dsec = arch = NULL; dform = FORM_NONE; ! while ((ff = fts_read(f)) != NULL) { path = ff->fts_path + 2; switch (ff->fts_info) { *************** *** 592,598 **** * then get handled just like regular files. */ case FTS_SL: ! if (NULL == realpath(path, buf)) { if (warnings) say(path, "&realpath"); continue; --- 592,598 ---- * then get handled just like regular files. */ case FTS_SL: ! if (realpath(path, buf) == NULL) { if (warnings) say(path, "&realpath"); continue; *************** *** 603,609 **** continue; } /* Use logical inode to avoid mpages dupe. */ ! if (-1 == stat(path, ff->fts_statp)) { if (warnings) say(path, "&stat"); continue; --- 603,609 ---- continue; } /* Use logical inode to avoid mpages dupe. */ ! if (stat(path, ff->fts_statp) == -1) { if (warnings) say(path, "&stat"); continue; *************** *** 615,621 **** * stored directory data and handling the filename. */ case FTS_F: ! if (0 == strcmp(path, MANDOC_DB)) continue; if ( ! use_all && ff->fts_level < 2) { if (warnings) --- 615,621 ---- * stored directory data and handling the filename. */ case FTS_F: ! if ( ! strcmp(path, MANDOC_DB)) continue; if ( ! use_all && ff->fts_level < 2) { if (warnings) *************** *** 624,660 **** } gzip = 0; fsec = NULL; ! while (NULL == fsec) { fsec = strrchr(ff->fts_name, '.'); ! if (NULL == fsec || strcmp(fsec+1, "gz")) break; gzip = 1; *fsec = '\0'; fsec = NULL; } ! if (NULL == fsec) { if ( ! use_all) { if (warnings) say(path, "No filename suffix"); continue; } ! } else if (0 == strcmp(++fsec, "html")) { if (warnings) say(path, "Skip html"); continue; ! } else if (0 == strcmp(fsec, "ps")) { if (warnings) say(path, "Skip ps"); continue; ! } else if (0 == strcmp(fsec, "pdf")) { if (warnings) say(path, "Skip pdf"); continue; } else if ( ! use_all && ! ((FORM_SRC == dform && strncmp(fsec, dsec, strlen(dsec))) || ! (FORM_CAT == dform && strcmp(fsec, "0")))) { if (warnings) say(path, "Wrong filename suffix"); continue; --- 624,660 ---- } gzip = 0; fsec = NULL; ! while (fsec == NULL) { fsec = strrchr(ff->fts_name, '.'); ! if (fsec == NULL || strcmp(fsec+1, "gz")) break; gzip = 1; *fsec = '\0'; fsec = NULL; } ! if (fsec == NULL) { if ( ! use_all) { if (warnings) say(path, "No filename suffix"); continue; } ! } else if ( ! strcmp(++fsec, "html")) { if (warnings) say(path, "Skip html"); continue; ! } else if ( ! strcmp(fsec, "ps")) { if (warnings) say(path, "Skip ps"); continue; ! } else if ( ! strcmp(fsec, "pdf")) { if (warnings) say(path, "Skip pdf"); continue; } else if ( ! use_all && ! ((dform == FORM_SRC && strncmp(fsec, dsec, strlen(dsec))) || ! (dform == FORM_CAT && strcmp(fsec, "0")))) { if (warnings) say(path, "Wrong filename suffix"); continue; *************** *** 699,711 **** * If we're not in use_all, enforce it. */ cp = ff->fts_name; ! if (FTS_DP == ff->fts_info) break; ! if (0 == strncmp(cp, "man", 3)) { dform = FORM_SRC; dsec = cp + 3; ! } else if (0 == strncmp(cp, "cat", 3)) { dform = FORM_CAT; dsec = cp + 3; } else { --- 699,714 ---- * If we're not in use_all, enforce it. */ cp = ff->fts_name; ! if (ff->fts_info == FTS_DP) { ! dform = FORM_NONE; ! dsec = NULL; break; + } ! if ( ! strncmp(cp, "man", 3)) { dform = FORM_SRC; dsec = cp + 3; ! } else if ( ! strncmp(cp, "cat", 3)) { dform = FORM_CAT; dsec = cp + 3; } else { *************** *** 713,719 **** dsec = NULL; } ! if (NULL != dsec || use_all) break; if (warnings) --- 716,722 ---- dsec = NULL; } ! if (dsec != NULL || use_all) break; if (warnings) *************** *** 725,737 **** * Possibly our architecture. * If we're descending, keep tabs on it. */ ! if (FTS_DP != ff->fts_info && NULL != dsec) arch = ff->fts_name; else arch = NULL; break; default: ! if (FTS_DP == ff->fts_info || use_all) break; if (warnings) say(path, "Extraneous directory part"); --- 728,740 ---- * Possibly our architecture. * If we're descending, keep tabs on it. */ ! if (ff->fts_info != FTS_DP && dsec != NULL) arch = ff->fts_name; else arch = NULL; break; default: ! if (ff->fts_info == FTS_DP || use_all) break; if (warnings) say(path, "Extraneous directory part");