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/

Reply via email to