version 1.8, 2010/05/14 01:54:37 |
version 1.9, 2010/05/26 02:39:58 |
|
|
#include <string.h> |
#include <string.h> |
#include <unistd.h> |
#include <unistd.h> |
|
|
|
#include "mandoc.h" |
#include "out.h" |
#include "out.h" |
#include "chars.h" |
#include "chars.h" |
#include "html.h" |
#include "html.h" |
|
|
int len, nospace; |
int len, nospace; |
const char *seq; |
const char *seq; |
enum roffdeco deco; |
enum roffdeco deco; |
|
static const char rejs[6] = { '\\', '<', '>', '&', ASCII_HYPH, '\0' }; |
|
|
nospace = 0; |
nospace = 0; |
|
|
for (; *p; p++) { |
for (; *p; p++) { |
sz = strcspn(p, "\\<>&"); |
sz = strcspn(p, rejs); |
|
|
fwrite(p, 1, sz, stdout); |
fwrite(p, 1, sz, stdout); |
p += /* LINTED */ |
p += /* LINTED */ |
|
|
} else if ('&' == *p) { |
} else if ('&' == *p) { |
printf("&"); |
printf("&"); |
continue; |
continue; |
|
} else if (ASCII_HYPH == *p) { |
|
/* |
|
* Note: "soft hyphens" aren't graphically |
|
* displayed when not breaking the text; we want |
|
* them to be displayed. |
|
*/ |
|
/*printf("­");*/ |
|
putchar('-'); |
|
continue; |
} else if ('\0' == *p) |
} else if ('\0' == *p) |
break; |
break; |
|
|
|
|
static void |
static void |
print_xmltype(struct html *h) |
print_xmltype(struct html *h) |
{ |
{ |
const char *decl; |
|
|
|
switch (h->type) { |
if (HTML_XHTML_1_0_STRICT == h->type) |
case (HTML_XHTML_1_0_STRICT): |
printf("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); |
decl = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; |
|
break; |
|
default: |
|
decl = NULL; |
|
break; |
|
} |
|
|
|
if (NULL == decl) |
|
return; |
|
|
|
printf("%s\n", decl); |
|
} |
} |
|
|
|
|