-/* $Id: html.c,v 1.216 2017/07/14 15:56:37 schwarze Exp $ */
+/* $Id: html.c,v 1.219 2017/07/15 17:57:51 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2015, 2017 Ingo Schwarze <schwarze@openbsd.org>
case 'u':
su = va_arg(ap, struct roffsu *);
break;
- case 'v':
- i = va_arg(ap, int);
- su = &mysu;
- SCALE_VS_INIT(su, i);
- break;
case 'w':
- if ((arg2 = va_arg(ap, char *)) == NULL)
- break;
- su = &mysu;
- a2width(arg2, su);
+ if ((arg2 = va_arg(ap, char *)) != NULL) {
+ su = &mysu;
+ a2width(arg2, su);
+ }
+ if (*fmt == '*') {
+ if (su != NULL && su->unit == SCALE_EN &&
+ su->scale > 5.9 && su->scale < 6.1)
+ su = NULL;
+ fmt++;
+ }
if (*fmt == '+') {
- /* Increase to make even bold text fit. */
- su->scale *= 1.2;
- /* Add padding. */
- su->scale += 3.0;
+ if (su != NULL) {
+ /* Make even bold text fit. */
+ su->scale *= 1.2;
+ /* Add padding. */
+ su->scale += 3.0;
+ }
fmt++;
}
if (*fmt == '-') {
- su->scale *= -1.0;
+ if (su != NULL)
+ su->scale *= -1.0;
fmt++;
}
break;
/* Second letter: style name. */
switch (*fmt++) {
- case 'b':
- attr = "margin-bottom";
- break;
case 'h':
attr = "height";
break;
case 'l':
attr = "margin-left";
break;
- case 't':
- attr = "margin-top";
- break;
case 'w':
attr = "width";
break;