summaryrefslogtreecommitdiff
path: root/utils/utils.c
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2003-10-07 21:34:39 +0000
committerJames Bursa <james@netsurf-browser.org>2003-10-07 21:34:39 +0000
commitbbcdf13fe04bc56a3671db581df40307e65b81da (patch)
tree075633c4419aace71bb76295f303f9eefffe874a /utils/utils.c
parent4ccdd4c7d275b3734ea11adec95a0d28d3ddfda6 (diff)
downloadnetsurf-bbcdf13fe04bc56a3671db581df40307e65b81da.tar.gz
netsurf-bbcdf13fe04bc56a3671db581df40307e65b81da.tar.bz2
[project @ 2003-10-07 21:34:39 by bursa]
Implement white-space property. svn path=/import/netsurf/; revision=348
Diffstat (limited to 'utils/utils.c')
-rw-r--r--utils/utils.c25
1 files changed, 25 insertions, 0 deletions
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 */