version 1.185, 2023/04/28 20:23:19 |
version 1.187, 2023/10/24 20:53:12 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2013-2015,2017-2020,2022 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2013-15,2017-20,2022-23 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 53 static char list_continues(const struct roff_node * |
|
Line 53 static char list_continues(const struct roff_node * |
|
static int man_B_pre(MAN_ARGS); |
static int man_B_pre(MAN_ARGS); |
static int man_IP_pre(MAN_ARGS); |
static int man_IP_pre(MAN_ARGS); |
static int man_I_pre(MAN_ARGS); |
static int man_I_pre(MAN_ARGS); |
|
static int man_MR_pre(MAN_ARGS); |
static int man_OP_pre(MAN_ARGS); |
static int man_OP_pre(MAN_ARGS); |
static int man_PP_pre(MAN_ARGS); |
static int man_PP_pre(MAN_ARGS); |
static int man_RS_pre(MAN_ARGS); |
static int man_RS_pre(MAN_ARGS); |
Line 106 static const struct man_html_act man_html_acts[MAN_MAX |
|
Line 107 static const struct man_html_act man_html_acts[MAN_MAX |
|
{ NULL, NULL }, /* UE */ |
{ NULL, NULL }, /* UE */ |
{ man_UR_pre, NULL }, /* MT */ |
{ man_UR_pre, NULL }, /* MT */ |
{ NULL, NULL }, /* ME */ |
{ NULL, NULL }, /* ME */ |
|
{ man_MR_pre, NULL }, /* MR */ |
}; |
}; |
|
|
|
|
Line 433 list_continues(const struct roff_node *n1, const struc |
|
Line 435 list_continues(const struct roff_node *n1, const struc |
|
s2 = n2 == NULL ? "" : n2->string; |
s2 = n2 == NULL ? "" : n2->string; |
c1 = strcmp(s1, "*") == 0 ? '*' : |
c1 = strcmp(s1, "*") == 0 ? '*' : |
strcmp(s1, "\\-") == 0 ? '-' : |
strcmp(s1, "\\-") == 0 ? '-' : |
strcmp(s1, "\\(bu") == 0 ? 'b' : ' '; |
strcmp(s1, "\\(bu") == 0 ? 'b' : |
|
strcmp(s1, "\\[bu]") == 0 ? 'b' : ' '; |
c2 = strcmp(s2, "*") == 0 ? '*' : |
c2 = strcmp(s2, "*") == 0 ? '*' : |
strcmp(s2, "\\-") == 0 ? '-' : |
strcmp(s2, "\\-") == 0 ? '-' : |
strcmp(s2, "\\(bu") == 0 ? 'b' : ' '; |
strcmp(s2, "\\(bu") == 0 ? 'b' : |
|
strcmp(s2, "\\[bu]") == 0 ? 'b' : ' '; |
return c1 != c2 ? '\0' : c1 == 'b' ? '*' : c1; |
return c1 != c2 ? '\0' : c1 == 'b' ? '*' : c1; |
} |
} |
|
|
Line 512 man_IP_pre(MAN_ARGS) |
|
Line 516 man_IP_pre(MAN_ARGS) |
|
break; |
break; |
default: |
default: |
abort(); |
abort(); |
|
} |
|
return 0; |
|
} |
|
|
|
static int |
|
man_MR_pre(MAN_ARGS) |
|
{ |
|
struct tag *t; |
|
const char *name, *section, *suffix; |
|
char *label; |
|
|
|
html_setfont(h, ESCAPE_FONTROMAN); |
|
name = section = suffix = label = NULL; |
|
if (n->child != NULL) { |
|
name = n->child->string; |
|
if (n->child->next != NULL) { |
|
section = n->child->next->string; |
|
mandoc_asprintf(&label, |
|
"%s, section %s", name, section); |
|
if (n->child->next->next != NULL) |
|
suffix = n->child->next->next->string; |
|
} |
|
} |
|
|
|
if (name != NULL && section != NULL && h->base_man1 != NULL) |
|
t = print_otag(h, TAG_A, "chM?", "Xr", |
|
name, section, "aria-label", label); |
|
else |
|
t = print_otag(h, TAG_A, "c?", "Xr", "aria-label", label); |
|
|
|
free(label); |
|
if (name != NULL) { |
|
print_text(h, name); |
|
h->flags |= HTML_NOSPACE; |
|
} |
|
print_text(h, "("); |
|
h->flags |= HTML_NOSPACE; |
|
if (section != NULL) { |
|
print_text(h, section); |
|
h->flags |= HTML_NOSPACE; |
|
} |
|
print_text(h, ")"); |
|
print_tagq(h, t); |
|
if (suffix != NULL) { |
|
h->flags |= HTML_NOSPACE; |
|
print_text(h, suffix); |
} |
} |
return 0; |
return 0; |
} |
} |