Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lexborisov/Modest.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlexborisov <lex.borisov@gmail.com>2016-12-14 22:59:03 +0300
committerlexborisov <lex.borisov@gmail.com>2016-12-14 22:59:03 +0300
commitfa03d22cb80b234b60c00522f5e47341bacb0903 (patch)
tree1c2f65e9b097cbf108457c8e6d75424e3f2024b4 /source/myhtml/serialization.c
parent33918eafb8a9d80b81413a8c0ad51fc48b6f1743 (diff)
Fixes after check by the Coverity Scan
Diffstat (limited to 'source/myhtml/serialization.c')
-rwxr-xr-x[-rw-r--r--]source/myhtml/serialization.c24
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("&nbsp;", 6, ptr);
- notwritten = 0;
+ if(i > 0 && (unsigned char)(data[(i - 1)]) == 0xC2) {
+ if (notwritten) callback(data + i - notwritten, (notwritten - 1), ptr);
+ callback("&nbsp;", 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("&nbsp;", 6, ptr);
- notwritten = 0;
+ if(i > 0 && (unsigned char)(data[(i - 1)]) == 0xC2) {
+ if (notwritten) callback(data + i - notwritten, (notwritten - 1), ptr);
+ callback("&nbsp;", 6, ptr);
+ notwritten = 0;
+ }
+ else {
+ ++notwritten;
+ }
+
break;
default:
++notwritten;