diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-10-19 16:47:49 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2017-10-31 18:11:33 +0100 |
commit | cb91775711b2f3f7adea8d33aa83104baf75ee07 (patch) | |
tree | 8363a93ce0fb625d92999c189342c638a987a2f5 /fs/quota/dquot.c | |
parent | 34be4dbf87fc3e474a842305394534216d428f5d (diff) |
isofs: use unsigned char types consistently
Based on the discussion about the signed character field for the year,
I went through all fields in the iso9660 and rockridge standards to see
whether they should used signed or unsigned characters. Only a single
8-bit value is defined as signed per 'section 7.1.2': the timezone
offset in a timestamp, this has always been handled correctly through
explicit sign-extension.
All others are either '7.1.1 8-bit unsigned numerical values' or
composite fields. I also read the linux source code and came to the
same conclusion, also I could not find any other part of the
implementation that actually behaves differently for signed or
unsigned values.
Since it is still ambigous to use plain 'char' in interface definitions,
I'm changing all fields representing numbers and reserved bytes to
the unambiguous '__u8'. Fields that hold actual strings are left as
'char' arrays. I built the code with '-Wpointer-sign -Wsign-compare'
to see if anything got left out, but couldn't find anything wrong
with the remaining warnings.
This patch should not change runtime behavior and does not need to
be backported.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/quota/dquot.c')
0 files changed, 0 insertions, 0 deletions