| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
jmc@ wondered what it meant and agrees with this patch.
|
|
|
|
|
|
|
|
| |
* Mention that the list is incomplete.
* I implemented %C for groff -current, and it was accepted.
* Font family is \F, not \f.
* Escapes and scaling widths are documented in roff(7), not here.
* Quoting quotes by doubling them is now supported.
|
|
|
|
|
|
|
|
|
|
| |
* Mention that the list is incomplete.
* Quoting quotes by doubling them is documented in the
Ossanna/Kernighan/Ritter Nroff/Troff User's Manual, Section 7.3.
* Our roff(7) manual documents handling of escape sequences;
besides, we partially support \w and \z now.
* Scaling widths are documented in roff(7) as well, and f is not \f.
* Negative arguments to .sp are handled now.
|
|
|
|
| |
Suggested by and ok jmc@.
|
|
|
|
|
| |
with "mandoc: " or "makewhatis: ", respectively,
similar to what we already do for other messages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when they are meaningful, to avoid confusing stuff like this:
$ mandoc /dev/null
mandoc: /dev/null:0:1: FATAL: not a manual
Instead, just say:
mandoc: /dev/null: FATAL: not a manual
Another example this applies to is documents having a prologue,
but lacking a body. Do not throw a FATAL error for these; instead,
issue a WARNING and show the empty document, in the man(7) case with
the same amount of blank lines as groff does. Also downgrade mdoc(7)
documents having content before the first .Sh from FATAL to WARNING.
|
|
|
|
|
|
|
|
|
|
|
| |
So far, this covers all WARNINGs related to the prologue.
1) hierarchical naming of MANDOCERR_* constants
2) mention the macro name in messages where that adds clarity
3) add one missing MANDOCERR_DATE_MISSING msg
4) fix the wording of one message related to the man(7) prologue
Started on the plane back from Ottawa.
|
|
|
|
|
|
|
| |
just like almost all other utility programs do.
Suggested by nick@ who wondered where messages came from
when calling mandoc(1) from inside a Perl script.
ok jmc@ nick@
|
| |
|
| |
|
|
|
|
|
|
| |
* rename the halloc callback to calloc, provide overflow protection
* rename the hfree callback to free, drop the useless size argument
* prevent integer overflows in ohash_resize
|
|
|
|
| |
whitespace and comment changes, no functional change
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Do not error out when getcwd(3) fails, only fail when inaccessibility
of the cwd prevents processing of relative paths given on the command line.
2) Do not uselessly call set_basedir() twice in a row.
While fts_read(3) in treescan() does cause the cwd to jump around,
fts_close(3) is always called at the end, putting us back
where we came from. The -d/-u fallback code already relied on this.
3) Fix the man-root-dir indicator in say().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Refrain from calling set_basedir() in the -t case,
and do not attempt to strip anything from the file names in that case.
Testing individual files cannot reasonably have any notion of a base dir.
2) Remove the possibility of passing NULL to set_basedir().
It was dangerous because it was not idempotent, and it served no purpose
except closing a file descriptor right before exit(), which is pointless.
Besides, the file descriptor is likely to be removed completely, soon.
3) Make sure that /foobar isn't treated as a subdirectory of /foo;
this fixes a bug reported by espie@.
|
|
|
|
|
|
| |
Don't display "unable to open mandoc.db" error messages (SQLITE_CANTOPEN)
in the code which opens mandocdb's sqlite database when updating/deleting
individual files (as used and only really useful for pkg_add/pkg_delete).
|
| |
|
|
|
|
|
| |
before putting them into the mpages table.
Issue found by bentley@ in OpenBSD::Getopt(3p).
|
|
|
|
|
| |
1. As found by nigel@, names_check() requires database access.
2. Do not leak names and strings in -n mode.
|
|
|
|
| |
does not have any arguments. Crash found by nigel@ in kermit(1).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
report the error, close the database, and return failure from dbopen(),
such that the main program can recover and rebuild the database.
As noticed by stsp@, this can happen when database files are
accessible, but corrupt or in the wrong format, which will now
automatically be repaired.
Besides, use a safer idiom after sqlite3_open*() failure that also
handles out-of-memory situations correctly, and do not forget to
close the database after CREATE TABLE failure.
|
|
|
|
|
|
| |
workstations, so show the kernel architecture names in uppercase
to the user, too.
Based on a patch from Kenji Aoyama@, thanks!
|
|
|
|
|
|
| |
Do not bother looking into the hash table when the length of the macro
already tells us it's invalid. No functional change.
Noticed by jsg@, thanks!
|
|
|
|
|
|
|
|
| |
In the past, it always showed the title lines of the files processed.
Now, it only shows them when called with -D.
That is better because pkg_create calls makewhatis -t.
It is also more consistent with -D behaviour in non- -t modes.
Issue reported by ajacoutot@; ok espie@ ajacoutot@ jasper@.
|
|
|
|
|
|
|
|
| |
* Use sha256 rather than md5.
* Update .h dependencies for some objects.
* Provide `www' target to build everything needed for the web site.
* Move .SUFFIXES and .PHONY technicalities to the bottom.
* State Copyright and license, just for clarity.
|
| |
|
| |
|
|
|
|
| |
First committed to wrong branch, sorry.
|
|
|
|
|
|
|
| |
* Change eight reallocs to reallocarray to be safe from overflows.
* Change one malloc to reallocarray to be safe from overflows.
* Change one calloc to reallocarray, no zeroing needed.
* Change the order of arguments of three callocs (aesthetical).
|
|
|
|
|
|
| |
* Add missing truncation checks to three calls.
* In four cases where we know that the distination buffer is large enough,
cast the return vailue to (void).
|
| |
|
|
|
|
| |
suggested by espie@.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Repair three instances of silent truncation, use asprintf(3).
* Change two instances of strlen(3)+malloc(3)+strlcpy(3)+strlcat(3)+...
to use asprintf(3) instead to make them less error prone.
* Cast the return value of four instances where the destination
buffer is known to be large enough to (void).
* Completely remove three useless instances of strlcpy(3)/strlcat(3).
* Mark two places in -Thtml with XXX that can cause information loss
and crashes but are not easy to fix, requiring design changes of
some internal interfaces.
* The file mandocdb.c remains to be audited.
|
| |
|
|
|
|
|
| |
a good thing, so cast the return value from sprintf to (void);
this concludes the mandoc sprintf audit
|
|
|
|
| |
rewrite post_lb() to use asprintf(3) instead
|
|
|
|
|
| |
the length of the title is unknown, and speed doesn't matter here,
so use asprintf/free rather than a static buffer
|
|
|
|
| |
and cast snprintf return value to (void) where they are
|
|
|
|
|
| |
remove trailing whitespace and blanks before tabs, improve some indenting;
no functional change
|
|
|
|
|
|
|
| |
(1) Use all files found on the command line, but do *not* use all stray
files found during fallback tree recursion.
(2) If the fallback works, call that success, i.e. exit(0).
As pointed out by naddy@, the latter is required for ports' happiness.
|
|
|
|
|
|
|
|
| |
Use the file name of the symlink but the inode number of the file pointed to,
such that we get multiple mlinks records but not multiple mpages records.
Also make sure they do not point outside the tree we are processing.
Issue found by kili@ in desktop-file-edit(1), thanks!
|
|
|
|
|
|
|
|
| |
missing or corrupt, just rebuild it from scratch. This also helps when
installing the very first port on a freshly installed machine
and is similar to what espie@'s classical makewhatis(8) did.
Issue reported by naddy@ via kili@.
|
|
|
|
|
| |
We are keeping the traditional name makewhatis(8).
No content change.
|
| |
|
|
|
|
|
| |
note this doesn't affect performance, SQLite generates the same byte code.
While here, make the calls to exprspec() easier to understand.
|
|
|
|
| |
to call this kid by a different name here than in all other tables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as suggested by jeremy@ and espie@.
The mlinks index speeds up basic apropos(1) searches by around 30%
because it speeds up the final SELECT FROM mlinks query by about 95%.
For large result sets, the overall speedup gets even larger, in the
extreme case of "apropos Nd~." bymore than 90%.
The keys index finally makes the apropos(1) -O option usable: It no longer
incurs relevant extra cost, while in the past it was embarrassingly slow.
This comes at a cost: Total database build times grow by about 5%,
and each index adds about 10% database size with -Q. I consider that
acceptable in view of the huge apropos(1) performance gains.
The -Q database for /usr/share/man still remains below 1 MB.
|
|
|
|
|
|
| |
and SQLITE_DETERMINISTIC when creating deterministic functions;
best practice measure suggested by espie@ and jeremy@;
as expected by jeremy@, no measurable effect on performance.
|
|
|
|
| |
At the end of mansearch(), fchdir() back to where we started from.
|
|
|
|
|
| |
this is cleaner and helps to not scatter gmon.out files all over
the place when profiling.
|
|
|
|
| |
it got deleted with mansearch.h rev. 1.12
|