version 1.106, 2018/06/25 13:59:33 |
version 1.107, 2018/06/25 14:13:50 |
|
|
print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) |
print_otag(struct html *h, enum htmltag tag, const char *fmt, ...) |
{ |
{ |
va_list ap; |
va_list ap; |
struct roffsu mysu, *su; |
struct roffsu *su; |
char numbuf[16]; |
char numbuf[16]; |
struct tag *t; |
struct tag *t; |
const char *attr; |
const char *attr; |
char *arg1, *arg2; |
char *arg1, *arg2; |
double v; |
double v; |
int i, have_style, tflags; |
int have_style, tflags; |
|
|
tflags = htmltags[tag].flags; |
tflags = htmltags[tag].flags; |
|
|
|
|
/* First letter: input argument type. */ |
/* First letter: input argument type. */ |
|
|
switch (*fmt++) { |
switch (*fmt++) { |
case 'h': |
|
i = va_arg(ap, int); |
|
su = &mysu; |
|
SCALE_HS_INIT(su, i); |
|
break; |
|
case 's': |
case 's': |
arg1 = va_arg(ap, char *); |
arg1 = va_arg(ap, char *); |
break; |
break; |
|
|
switch (*fmt++) { |
switch (*fmt++) { |
case 'h': |
case 'h': |
attr = "height"; |
attr = "height"; |
break; |
|
case 'l': |
|
attr = "margin-left"; |
|
break; |
break; |
case '?': |
case '?': |
attr = arg1; |
attr = arg1; |