#
1d3959ed |
|
26-Feb-2019 |
Jérôme Duval <jerome.duval@gmail.com> |
exfat: checks cluster values. also use the size of the node for Size(), instead of the valid size.
|
#
984ec35f |
|
25-Feb-2019 |
Jérôme Duval <jerome.duval@gmail.com> |
exfat: fix block count for bigger disks.
|
#
14263044 |
|
22-Feb-2019 |
Jérôme Duval <jerome.duval@gmail.com> |
exfat: avoid overflow in Volume::ClusterToBlock().
|
#
ebd3bcdb |
|
12-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: handle 4-byte UTF-16 surrogate pairs ... in filenames. Replace the existing Unicode conversion functions with UTF conversion functions from js that he relicensed MIT for us. Put the UTF conversion functions in a private but shared code location so that they can be accessed throughout the kernel. Right now we only provide functions to convert between UTF-8 and UTF-16. At some point we should also add functions to convert between UTF-8 and UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat. Remove the old Unicode conversion functions from exfat as they assumed UCS-2 characters and don't work with UTF-16 used by exfat. Rename most variables with the term length with code unit where code units are intended. The term length, when used, means length in bytes while code units represent either a full 2-byte UTF-16 character or half a 4-byte surrogate pair.
|
#
5b10d763 |
|
11-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: use diff structs 4 vol labels and filenames ... and rename the structs to reflect this. * Volume labels contain up to 11 uint16s (11 2-byte UTF-16 characters). * Filenames are packed into 1 to 17 structs of 15 uint16s each (for a total of 255 2-byte UTF-16 characters). * Use 2 different packed structs in the exfat_entry union (same bytes, accessed with different structs) to access these 2 things. * Remove a check that assumed the length returned the number of 2-byte UTF-16 characters, i.e. the number of uint16s the string uses. It doesn't, it returns the number of characters contained in the string which might be 2 or 4-bytes wide. We're doing the conversion wrong for 4-byte UTF-16 characters anyway, more on that later.
|
#
762b846c |
|
04-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: Set the mountpoint to same as volume name Fixes #10501 * update copyright headers, attribute to Haiku, Inc. add authors * volume_name gets filled out by a utility function in Utility.cpp * update exfat_entry - rename name_label to just label - adjust volume_label to have 11 uint16 chars plus 8 uint8 reserved - add guid partition info * Added a couple new entry type defines * fName is 34 bytes long which fits the 11 3-byte UTF-8 chars and a \0
|
#
aeb03a8f |
|
04-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: style fixes only
|
#
e74e90ae |
|
09-Feb-2011 |
Jérôme Duval <korli@users.berlios.de> |
* Implemented a read-only exFAT file system, tested with a 4GB image. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40409 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ebd3bcdb9be2d6a57fc5b3270dcb49a9e1894d11 |
|
12-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: handle 4-byte UTF-16 surrogate pairs ... in filenames. Replace the existing Unicode conversion functions with UTF conversion functions from js that he relicensed MIT for us. Put the UTF conversion functions in a private but shared code location so that they can be accessed throughout the kernel. Right now we only provide functions to convert between UTF-8 and UTF-16. At some point we should also add functions to convert between UTF-8 and UTF-32 and UTF-16 and UTF-32 but these aren't needed by exfat. Remove the old Unicode conversion functions from exfat as they assumed UCS-2 characters and don't work with UTF-16 used by exfat. Rename most variables with the term length with code unit where code units are intended. The term length, when used, means length in bytes while code units represent either a full 2-byte UTF-16 character or half a 4-byte surrogate pair.
|
#
5b10d763d0da84a6f0cb07c610eb25df776273b2 |
|
11-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: use diff structs 4 vol labels and filenames ... and rename the structs to reflect this. * Volume labels contain up to 11 uint16s (11 2-byte UTF-16 characters). * Filenames are packed into 1 to 17 structs of 15 uint16s each (for a total of 255 2-byte UTF-16 characters). * Use 2 different packed structs in the exfat_entry union (same bytes, accessed with different structs) to access these 2 things. * Remove a check that assumed the length returned the number of 2-byte UTF-16 characters, i.e. the number of uint16s the string uses. It doesn't, it returns the number of characters contained in the string which might be 2 or 4-bytes wide. We're doing the conversion wrong for 4-byte UTF-16 characters anyway, more on that later.
|
#
762b846cf8ba678f31a854a85e68003d2071be8d |
|
04-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: Set the mountpoint to same as volume name Fixes #10501 * update copyright headers, attribute to Haiku, Inc. add authors * volume_name gets filled out by a utility function in Utility.cpp * update exfat_entry - rename name_label to just label - adjust volume_label to have 11 uint16 chars plus 8 uint8 reserved - add guid partition info * Added a couple new entry type defines * fName is 34 bytes long which fits the 11 3-byte UTF-8 chars and a \0
|
#
aeb03a8f68bad446e3f1178fa9ea8cb3c9e460ab |
|
04-Feb-2014 |
John Scipione <jscipione@gmail.com> |
exfat: style fixes only
|
#
e74e90aef91f844d4d3654504cd0776c26a454e5 |
|
09-Feb-2011 |
Jérôme Duval <korli@users.berlios.de> |
* Implemented a read-only exFAT file system, tested with a 4GB image. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40409 a95241bf-73f2-0310-859d-f6bbb57e9c96
|