On Mon, Apr 11, 2005 at 01:25:32AM -0700, Andrew Morton wrote: > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.12-rc2/2.6.12-rc2-mm3/ > > > Changes since 2.6.12-rc2-mm2: > > > bk-cifs.patch
The following patch correct an error in bk-cifs: fs/cifs/misc.c: In function âcifs_convertUCSpathâ: fs/cifs/misc.c:546: error: case label does not reduce to an integer constant fs/cifs/misc.c:549: error: case label does not reduce to an integer constant fs/cifs/misc.c:552: error: case label does not reduce to an integer constant fs/cifs/misc.c:561: error: case label does not reduce to an integer constant fs/cifs/misc.c:564: error: case label does not reduce to an integer constant fs/cifs/misc.c:567: error: case label does not reduce to an integer constant The utilisations of UNI_* constants show that it is should in cpu format: for example line 542, src_char is converted in cpu_format: src_char = le16_to_cpu(source[i]); switch (src_char) { ... case UNI_COLON: ... or line 610, it is unlikely that you want to have cpu_to_le16(cpu_to_le16(x)): target[j] = cpu_to_le16(UNI_COLON); the following patch fixes it. Signed-Off-By: Benoit Boissinot <[EMAIL PROTECTED]> --- ./fs/cifs/misc.c.orig 2005-04-11 19:18:11.000000000 +0200 +++ ./fs/cifs/misc.c 2005-04-11 19:18:30.000000000 +0200 @@ -519,13 +519,13 @@ dump_smb(struct smb_hdr *smb_buf, int sm /* Windows maps these to the user defined 16 bit Unicode range since they are reserved symbols (along with \ and /), otherwise illegal to store in filenames in NTFS */ -#define UNI_ASTERIK cpu_to_le16('*' + 0xF000) -#define UNI_QUESTION cpu_to_le16('?' + 0xF000) -#define UNI_COLON cpu_to_le16(':' + 0xF000) -#define UNI_GRTRTHAN cpu_to_le16('>' + 0xF000) -#define UNI_LESSTHAN cpu_to_le16('<' + 0xF000) -#define UNI_PIPE cpu_to_le16('|' + 0xF000) -#define UNI_SLASH cpu_to_le16('\\' + 0xF000) +#define UNI_ASTERIK ('*' + 0xF000) +#define UNI_QUESTION ('?' + 0xF000) +#define UNI_COLON (':' + 0xF000) +#define UNI_GRTRTHAN ('>' + 0xF000) +#define UNI_LESSTHAN ('<' + 0xF000) +#define UNI_PIPE ('|' + 0xF000) +#define UNI_SLASH ('\\' + 0xF000) /* Convert 16 bit Unicode pathname from wire format to string in current code page. Conversion may involve remapping up the seven characters that are - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/