version 1.113, 2018/11/23 19:15:32 |
version 1.114, 2018/11/26 01:38:17 |
|
|
struct tag *t; |
struct tag *t; |
const char *attr; |
const char *attr; |
char *arg1, *arg2; |
char *arg1, *arg2; |
int tflags; |
int style_written, tflags; |
|
|
tflags = htmltags[tag].flags; |
tflags = htmltags[tag].flags; |
|
|
|
|
|
|
va_start(ap, fmt); |
va_start(ap, fmt); |
|
|
while (*fmt != '\0') { |
while (*fmt != '\0' && *fmt != 's') { |
|
|
/* Parse attributes and arguments. */ |
/* Parse attributes and arguments. */ |
|
|
|
|
case 'i': |
case 'i': |
attr = "id"; |
attr = "id"; |
break; |
break; |
case 's': |
|
attr = "style"; |
|
arg2 = va_arg(ap, char *); |
|
break; |
|
case '?': |
case '?': |
attr = arg1; |
attr = arg1; |
arg1 = va_arg(ap, char *); |
arg1 = va_arg(ap, char *); |
|
|
fmt++; |
fmt++; |
break; |
break; |
default: |
default: |
if (arg2 == NULL) |
print_encode(h, arg1, NULL, 1); |
print_encode(h, arg1, NULL, 1); |
|
else { |
|
print_word(h, arg1); |
|
print_byte(h, ':'); |
|
print_byte(h, ' '); |
|
print_word(h, arg2); |
|
print_byte(h, ';'); |
|
} |
|
break; |
break; |
} |
} |
print_byte(h, '"'); |
print_byte(h, '"'); |
} |
} |
|
|
|
style_written = 0; |
|
while (*fmt++ == 's') { |
|
arg1 = va_arg(ap, char *); |
|
arg2 = va_arg(ap, char *); |
|
if (arg2 == NULL) |
|
continue; |
|
print_byte(h, ' '); |
|
if (style_written == 0) { |
|
print_word(h, "style=\""); |
|
style_written = 1; |
|
} |
|
print_word(h, arg1); |
|
print_byte(h, ':'); |
|
print_byte(h, ' '); |
|
print_word(h, arg2); |
|
print_byte(h, ';'); |
|
} |
|
if (style_written) |
|
print_byte(h, '"'); |
|
|
va_end(ap); |
va_end(ap); |
|
|
/* Accommodate for "well-formed" singleton escaping. */ |
/* Accommodate for "well-formed" singleton escaping. */ |