Mercurial > dillo_port1.3
changeset 1098:614b1d02e6c3
Refactor: isolate calls to utf8 functions into a single source file.
author | corvid <corvid@lavabit.com> |
---|---|
date | Fri, 15 May 2009 22:08:10 -0400 |
parents | 4be83aec27bd |
children | f45c0207dc68 73a85563d3a9 |
files | src/Makefile.am src/html.cc src/utf8.cc src/utf8.hh |
diffstat | 4 files changed, 55 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile.am Fri May 15 15:27:14 2009 -0400 +++ b/src/Makefile.am Fri May 15 22:08:10 2009 -0400 @@ -53,6 +53,8 @@ klist.h \ chain.c \ chain.h \ + utf8.cc \ + utf8.hh \ timeout.cc \ timeout.hh \ dialog.cc \
--- a/src/html.cc Fri May 15 15:27:14 2009 -0400 +++ b/src/html.cc Fri May 15 22:08:10 2009 -0400 @@ -23,12 +23,11 @@ #include <math.h> /* for rint */ #include <errno.h> -#include <fltk/utf.h> /* for utf8encode */ - #include "bw.h" /* for BrowserWindow */ #include "msg.h" #include "binaryconst.h" #include "colors.h" +#include "utf8.hh" #include "misc.h" #include "uicmd.hh" @@ -1028,7 +1027,7 @@ toksize-i, &entsize)) >= 0) { if (isocode >= 128) { /* multibyte encoding */ - n = utf8encode(isocode, buf); + n = a_Utf8_encode(isocode, buf); for (k = 0; k < n; ++k) new_str[j++] = buf[k]; } else { @@ -3568,7 +3567,7 @@ tagsize-i, &entsize)) >= 0) { if (isocode >= 128) { char buf[4]; - int k, n = utf8encode(isocode, buf); + int k, n = a_Utf8_encode(isocode, buf); for (k = 0; k < n; ++k) dStr_append_c(Buf, buf[k]); } else {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/utf8.cc Fri May 15 22:08:10 2009 -0400 @@ -0,0 +1,34 @@ +/* + * File: utf8.c + * + * Copyright (C) 2009 Jorge Arellano Cid <jcid@dillo.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + */ + +#include <fltk/utf.h> + +#include "utf8.hh" + +// C++ functions with C linkage ---------------------------------------------- + +/* + * Write UTF-8 encoding of ucs into buf and return number of bytes written. + */ +int a_Utf8_encode(unsigned int ucs, char *buf) +{ + return utf8encode(ucs, buf); +} + +/* + * Examine first srclen bytes of src. + * Return 0 if not legal UTF-8, 1 if all ASCII, 2 if all below 0x800, + * 3 if all below 0x10000, and 4 otherwise. + */ +int a_Utf8_test(const char* src, unsigned int srclen) +{ + return utf8test(src, srclen); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/utf8.hh Fri May 15 22:08:10 2009 -0400 @@ -0,0 +1,16 @@ +#ifndef __UTF8_HH__ +#define __UTF8_HH__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +int a_Utf8_encode(unsigned int ucs, char *buf); +int a_Utf8_test(const char* src, unsigned int srclen); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __UTF8_HH__ */ +