version 1.269, 2021/08/19 16:55:31 |
version 1.273, 2024/05/14 18:52:31 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2011-2020 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2011-2021 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2016 Ed Maste <emaste@freebsd.org> |
* Copyright (c) 2016 Ed Maste <emaste@freebsd.org> |
* |
* |
Line 353 mandocdb(int argc, char *argv[]) |
|
Line 353 mandocdb(int argc, char *argv[]) |
|
goto usage; \ |
goto usage; \ |
} while (/*CONSTCOND*/0) |
} while (/*CONSTCOND*/0) |
|
|
mparse_options = MPARSE_VALIDATE; |
mparse_options = MPARSE_UTF8 | MPARSE_LATIN1 | MPARSE_VALIDATE; |
path_arg = NULL; |
path_arg = NULL; |
op = OP_DEFAULT; |
op = OP_DEFAULT; |
|
|
|
|
mpages_free(); |
mpages_free(); |
ohash_delete(&mpages); |
ohash_delete(&mpages); |
ohash_delete(&mlinks); |
ohash_delete(&mlinks); |
|
#if DEBUG_MEMORY |
|
mandoc_dbg_finish(); |
|
#endif |
return exitcode; |
return exitcode; |
usage: |
usage: |
progname = getprogname(); |
progname = getprogname(); |
Line 801 filescan(const char *infile) |
|
Line 804 filescan(const char *infile) |
|
* We have to do lstat(2) before realpath(3) loses |
* We have to do lstat(2) before realpath(3) loses |
* the information whether this is a symbolic link. |
* the information whether this is a symbolic link. |
* We need to know that because for symbolic links, |
* We need to know that because for symbolic links, |
* we want to use the orginal file name, while for |
* we want to use the original file name, while for |
* regular files, we want to use the real path. |
* regular files, we want to use the real path. |
*/ |
*/ |
if (lstat(infile, &st) == -1) { |
if (lstat(infile, &st) == -1) { |
Line 2028 render_string(char **public, size_t *psz) |
|
Line 2031 render_string(char **public, size_t *psz) |
|
*/ |
*/ |
|
|
scp++; |
scp++; |
if (mandoc_escape(&scp, &seq, &seqlen) != ESCAPE_SPECIAL) |
switch (mandoc_escape(&scp, &seq, &seqlen)) { |
|
case ESCAPE_UNICODE: |
|
unicode = mchars_num2uc(seq + 1, seqlen - 1); |
|
break; |
|
case ESCAPE_NUMBERED: |
|
unicode = mchars_num2char(seq, seqlen); |
|
break; |
|
case ESCAPE_SPECIAL: |
|
unicode = mchars_spec2cp(seq, seqlen); |
|
break; |
|
default: |
|
unicode = -1; |
|
break; |
|
} |
|
if (unicode <= 0) |
continue; |
continue; |
|
|
/* |
/* |
Line 2037 render_string(char **public, size_t *psz) |
|
Line 2054 render_string(char **public, size_t *psz) |
|
*/ |
*/ |
|
|
if (write_utf8) { |
if (write_utf8) { |
unicode = mchars_spec2cp(seq, seqlen); |
|
if (unicode <= 0) |
|
continue; |
|
addsz = utf8(unicode, utfbuf); |
addsz = utf8(unicode, utfbuf); |
if (addsz == 0) |
if (addsz == 0) |
continue; |
continue; |
addcp = utfbuf; |
addcp = utfbuf; |
} else { |
} else { |
addcp = mchars_spec2str(seq, seqlen, &addsz); |
addcp = mchars_uc2str(unicode); |
if (addcp == NULL) |
if (addcp == NULL) |
continue; |
continue; |
if (*addcp == ASCII_NBRSP) { |
if (*addcp == ASCII_NBRSP) |
addcp = " "; |
addcp = " "; |
addsz = 1; |
addsz = strlen(addcp); |
} |
|
} |
} |
|
|
/* Copy the rendered glyph into the stream. */ |
/* Copy the rendered glyph into the stream. */ |
Line 2251 dbwrite(struct dba *dba) |
|
Line 2264 dbwrite(struct dba *dba) |
|
say(tfn, "&dba_write"); |
say(tfn, "&dba_write"); |
goto err; |
goto err; |
} |
} |
if ((fd1 = open(MANDOC_DB, O_RDONLY, 0)) == -1) { |
if ((fd1 = open(MANDOC_DB, O_RDONLY)) == -1) { |
say(MANDOC_DB, "&open"); |
say(MANDOC_DB, "&open"); |
goto err; |
goto err; |
} |
} |
if ((fd2 = open(tfn, O_RDONLY, 0)) == -1) { |
if ((fd2 = open(tfn, O_RDONLY)) == -1) { |
say(tfn, "&open"); |
say(tfn, "&open"); |
goto err; |
goto err; |
} |
} |