[PATCH] 2.4.31: fix isofs mount options parser

From: Andrey J. Melnikoff (TEMHOTA)
Date: Thu Aug 11 2005 - 06:05:33 EST


Hello Marcelo, LKML.

Previos patch incomplete and fix only gcc warnings. New patch attached.

Description:
This patch pix gcc-3.4 warnings, andfix broken logic in mount options
parser.

--- cut ---
inode.c: In function `parse_options':
inode.c:341: warning: comparison of unsigned expression < 0 is always false
inode.c:347: warning: comparison of unsigned expression < 0 is always false
--- cut ---

Signed-of-by: Andrey Melnikoff <temnota@xxxxxx>

--- linux-2.4.31/fs/isofs/inode.c~old 2005-08-10 16:18:48.000000000 +0400
+++ linux-2.4.31/fs/isofs/inode.c 2005-08-11 13:55:25.000000000 +0400
@@ -335,15 +335,15 @@
else if (!strcmp(value,"acorn")) popt->map = 'a';
else return 0;
}
- if (!strcmp(this_char,"session") && value) {
+ else if (!strcmp(this_char,"session") && value) {
char * vpnt = value;
- unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >99) return 0;
popt->session=ivalue+1;
}
- if (!strcmp(this_char,"sbsector") && value) {
+ else if (!strcmp(this_char,"sbsector") && value) {
char * vpnt = value;
- unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >660*512) return 0;
popt->sbsector=ivalue;
}

--
Best regards, TEMHOTA-RIPN aka MJA13-RIPE
System Administrator. mailto:temnota@xxxxxx

--- linux-2.4.31/fs/isofs/inode.c~old 2005-08-10 16:18:48.000000000 +0400
+++ linux-2.4.31/fs/isofs/inode.c 2005-08-11 13:55:25.000000000 +0400
@@ -335,15 +335,15 @@
else if (!strcmp(value,"acorn")) popt->map = 'a';
else return 0;
}
- if (!strcmp(this_char,"session") && value) {
+ else if (!strcmp(this_char,"session") && value) {
char * vpnt = value;
- unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >99) return 0;
popt->session=ivalue+1;
}
- if (!strcmp(this_char,"sbsector") && value) {
+ else if (!strcmp(this_char,"sbsector") && value) {
char * vpnt = value;
- unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >660*512) return 0;
popt->sbsector=ivalue;
}