=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mandoc/main.c,v retrieving revision 1.259 retrieving revision 1.260 diff -c -r1.259 -r1.260 *** src/usr.bin/mandoc/main.c 2021/09/04 12:47:04 1.259 --- src/usr.bin/mandoc/main.c 2021/09/04 22:37:26 1.260 *************** *** 1,4 **** ! /* $OpenBSD: main.c,v 1.259 2021/09/04 12:47:04 schwarze Exp $ */ /* * Copyright (c) 2010-2012, 2014-2021 Ingo Schwarze * Copyright (c) 2008-2012 Kristaps Dzonsons --- 1,4 ---- ! /* $OpenBSD: main.c,v 1.260 2021/09/04 22:37:26 schwarze Exp $ */ /* * Copyright (c) 2010-2012, 2014-2021 Ingo Schwarze * Copyright (c) 2008-2012 Kristaps Dzonsons *************** *** 131,137 **** struct mparse *mp; /* Opaque parser object. */ const char *conf_file; /* -C: alternate config file. */ const char *os_s; /* -I: Operating system for display. */ ! const char *progname, *sec; char *defpaths; /* -M: override manpaths. */ char *auxpaths; /* -m: additional manpaths. */ char *oarg; /* -O: output option string. */ --- 131,137 ---- struct mparse *mp; /* Opaque parser object. */ const char *conf_file; /* -C: alternate config file. */ const char *os_s; /* -I: Operating system for display. */ ! const char *progname, *sec, *ep; char *defpaths; /* -M: override manpaths. */ char *auxpaths; /* -m: additional manpaths. */ char *oarg; /* -O: output option string. */ *************** *** 514,524 **** sec++; /* Prefer without suffix. */ if (*sec != '/') prio += 10; /* Wrong dir name. */ ! if (search.sec != NULL && ! (strlen(sec) <= ssz + 3 || ! strcmp(sec + strlen(sec) - ssz, ! search.sec) != 0)) ! prio += 20; /* Wrong file ext. */ if (prio >= best_prio) continue; best_prio = prio; --- 514,529 ---- sec++; /* Prefer without suffix. */ if (*sec != '/') prio += 10; /* Wrong dir name. */ ! if (search.sec != NULL) { ! ep = strchr(sec, '\0'); ! if (ep - sec > 3 && ! strncmp(ep - 3, ".gz", 3) == 0) ! ep -= 3; ! if ((size_t)(ep - sec) < ssz + 3 || ! strncmp(ep - ssz, search.sec, ! ssz) != 0) /* Wrong file */ ! prio += 20; /* extension. */ ! } if (prio >= best_prio) continue; best_prio = prio;