From bbcdf13fe04bc56a3671db581df40307e65b81da Mon Sep 17 00:00:00 2001 From: James Bursa Date: Tue, 7 Oct 2003 21:34:39 +0000 Subject: [project @ 2003-10-07 21:34:39 by bursa] Implement white-space property. svn path=/import/netsurf/; revision=348 --- utils/utils.c | 25 +++++++++++++++++++++++++ utils/utils.h | 1 + 2 files changed, 26 insertions(+) (limited to 'utils') diff --git a/utils/utils.c b/utils/utils.c index a62f7256a..bc912fdc7 100644 --- a/utils/utils.c +++ b/utils/utils.c @@ -129,6 +129,31 @@ char * tolat1(xmlChar * s) return d0; } +char * tolat1_pre(xmlChar * s) +{ + unsigned int length = strlen((char*) s); + char *d = xcalloc(length + 1, sizeof(char)); + char *d0 = d; + int u, chars; + + while (*s != 0) { + chars = length; + u = xmlGetUTF8Char((unsigned char *) s, &chars); + s += chars; + length -= chars; + if (u == 0x09 || u == 0x0a || u == 0x0d || + (0x20 <= u && u <= 0x7f) || + (0xa0 <= u && u <= 0xff)) + *d = u; + else + *d = '?'; + d++; + } + *d = 0; + + return d0; +} + char *squash_tolat1(xmlChar *s) { /* TODO: optimize */ diff --git a/utils/utils.h b/utils/utils.h index 3e491648e..9403d194e 100644 --- a/utils/utils.h +++ b/utils/utils.h @@ -21,6 +21,7 @@ char * xstrdup(const char * const s); char * load(const char * const path); char * squash_whitespace(const char * s); char * tolat1(xmlChar * s); +char * tolat1_pre(xmlChar * s); char *squash_tolat1(xmlChar *s); char *url_join(const char* new, const char* base); -- cgit v1.2.3