6 static int printf_markup(FILE *stream,
7 const struct printf_info *info,
8 const void *const *args)
11 const char *str = *(const char **)args[0];
12 for (int i = 0; str[i]; i++)
14 case '"': len += fputs("'", stream); break;
15 case '\'': len += fputs(""", stream); break;
16 case '&': len += fputs("&", stream); break;
17 case '<': len += fputs("<", stream); break;
18 case '>': len += fputs(">", stream); break;
19 default: len += fputc(str[i], stream); break;
24 static int printf_markup_arginfo(const struct printf_info *info,
25 size_t n, int *argtypes, int *size)
27 argtypes[0] = PA_STRING;
33 register_printf_specifier('M', printf_markup, printf_markup_arginfo);
39 printf("%M\n", "<Hello, World>");
40 printf("%M\n", "<Hello, World>");
41 printf("%M\n", "<Hello, World>");