diff options
author | lexborisov <lex.borisov@gmail.com> | 2016-12-14 22:59:03 +0300 |
---|---|---|
committer | lexborisov <lex.borisov@gmail.com> | 2016-12-14 22:59:03 +0300 |
commit | fa03d22cb80b234b60c00522f5e47341bacb0903 (patch) | |
tree | 1c2f65e9b097cbf108457c8e6d75424e3f2024b4 /source/myhtml/serialization.c | |
parent | 33918eafb8a9d80b81413a8c0ad51fc48b6f1743 (diff) |
Fixes after check by the Coverity Scan
Diffstat (limited to 'source/myhtml/serialization.c')
-rwxr-xr-x[-rw-r--r--] | source/myhtml/serialization.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/source/myhtml/serialization.c b/source/myhtml/serialization.c index ef76b94..9685cd0 100644..100755 --- a/source/myhtml/serialization.c +++ b/source/myhtml/serialization.c @@ -269,9 +269,15 @@ void myhtml_serialization_append(const char *data, size_t size, myhtml_callback_ notwritten = 0; break; case 0xA0: - if (notwritten) callback(data + i - notwritten, notwritten, ptr); - callback(" ", 6, ptr); - notwritten = 0; + if(i > 0 && (unsigned char)(data[(i - 1)]) == 0xC2) { + if (notwritten) callback(data + i - notwritten, (notwritten - 1), ptr); + callback(" ", 6, ptr); + notwritten = 0; + } + else { + ++notwritten; + } + break; default: ++notwritten; @@ -308,9 +314,15 @@ void myhtml_serialization_append_attr(const char* data, size_t size, myhtml_call notwritten = 0; break; case 0xA0: - if (notwritten) callback(data + i - notwritten, notwritten, ptr); - callback(" ", 6, ptr); - notwritten = 0; + if(i > 0 && (unsigned char)(data[(i - 1)]) == 0xC2) { + if (notwritten) callback(data + i - notwritten, (notwritten - 1), ptr); + callback(" ", 6, ptr); + notwritten = 0; + } + else { + ++notwritten; + } + break; default: ++notwritten; |