Merge tag 'gfs2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2...
[firefly-linux-kernel-4.4.55.git] / fs / udf / unicode.c
index 44b815e57f9439116199f91b67489a98272272bc..afd470e588ffbbd24ec886b3e8a619833a5e3e9a 100644 (file)
@@ -412,7 +412,6 @@ static int udf_translate_to_linux(uint8_t *newName, uint8_t *udfName,
        int extIndex = 0, newExtIndex = 0, hasExt = 0;
        unsigned short valueCRC;
        uint8_t curr;
-       const uint8_t hexChar[] = "0123456789ABCDEF";
 
        if (udfName[0] == '.' &&
            (udfLen == 1 || (udfLen == 2 && udfName[1] == '.'))) {
@@ -477,10 +476,10 @@ static int udf_translate_to_linux(uint8_t *newName, uint8_t *udfName,
                        newIndex = 250;
                newName[newIndex++] = CRC_MARK;
                valueCRC = crc_itu_t(0, fidName, fidNameLen);
-               newName[newIndex++] = hexChar[(valueCRC & 0xf000) >> 12];
-               newName[newIndex++] = hexChar[(valueCRC & 0x0f00) >> 8];
-               newName[newIndex++] = hexChar[(valueCRC & 0x00f0) >> 4];
-               newName[newIndex++] = hexChar[(valueCRC & 0x000f)];
+               newName[newIndex++] = hex_asc_upper_hi(valueCRC >> 8);
+               newName[newIndex++] = hex_asc_upper_lo(valueCRC >> 8);
+               newName[newIndex++] = hex_asc_upper_hi(valueCRC);
+               newName[newIndex++] = hex_asc_upper_lo(valueCRC);
 
                if (hasExt) {
                        newName[newIndex++] = EXT_MARK;