]> mj.ucw.cz Git - libucw.git/blobdiff - charset/charconv-gen.h
XML: Implemented a merger of element's contents.
[libucw.git] / charset / charconv-gen.h
index 5a83232f7aaad432281d8969e34f7e807717b349..1c76b12a2d4e5328397491cc4c80ea0fab66e844 100644 (file)
@@ -13,6 +13,7 @@
 do {
 
 /*** Header ***/
+
   const byte *s, *se;
   byte *d, *de;
   uns code;
@@ -138,7 +139,7 @@ got_code:
         {
          byte *k = string_table + code - 0x100;
          uns len = *k++;
-         if (unlikely(de - d < len))
+         if (unlikely((uns)(de - d) < len))
            {
              c->state = SEQ_WRITE;
              c->string_at = k;
@@ -193,6 +194,7 @@ got_code:
       else
         {
 write_slow:
+         c->code = code;
          c->state = UTF16_BE_WRITE;
          goto go_slow;
        }
@@ -217,6 +219,7 @@ write_slow:
       else
         {
 write_slow:
+         c->code = code;
          c->state = UTF16_LE_WRITE;
          goto go_slow;
        }