]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
lib/ucs2_string: Correct ucs2 -> utf8 conversion
authorJason Andryuk <jandryuk@gmail.com>
Fri, 12 Feb 2016 23:13:33 +0000 (23:13 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Mar 2016 23:07:09 +0000 (15:07 -0800)
commit9e8afc94ffae6f7ab9ba77308a9ab53aaf10335e
treee67ab390741922a0151f1d95dcd058d5bc42a5a8
parent9168b9b4cd91c442041a5c3a3d9f9a5b1f8676f5
lib/ucs2_string: Correct ucs2 -> utf8 conversion

commit a68075908a37850918ad96b056acc9ac4ce1bd90 upstream.

The comparisons should be >= since 0x800 and 0x80 require an additional bit
to store.

For the 3 byte case, the existing shift would drop off 2 more bits than
intended.

For the 2 byte case, there should be 5 bits bits in byte 1, and 6 bits in
byte 2.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Matthew Garrett <mjg59@coreos.com>
Cc: "Lee, Chun-Yi" <jlee@suse.com>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
lib/ucs2_string.c