wireless-tools/wireless-tools-28-sscanf-64bit-fixes.patch
2007-05-14 12:14:41 +00:00

78 lines
2.3 KiB
Diff

--- wireless_tools.28/iwconfig.c.sscanf-64-bit-fixes 2007-01-18 09:42:33.000000000 -0500
+++ wireless_tools.28/iwconfig.c 2007-01-18 10:00:27.000000000 -0500
@@ -674,11 +674,16 @@
wrq.u.nwid.disabled = 0;
}
else
- if(sscanf(args[i], "%lX", (unsigned long *) &(wrq.u.nwid.value))
- != 1)
- ABORT_ARG_TYPE("Set NWID", SIOCSIWNWID, args[i]);
- else
- wrq.u.nwid.disabled = 0;
+ {
+ unsigned long temp;
+ if(sscanf(args[i], "%lX", &(temp)) != 1)
+ ABORT_ARG_TYPE("Set NWID", SIOCSIWNWID, args[i]);
+ else
+ {
+ wrq.u.nwid.value = temp;
+ wrq.u.nwid.disabled = 0;
+ }
+ }
wrq.u.nwid.fixed = 1;
/* Set new nwid */
@@ -746,11 +751,13 @@
/* ---------- Set sensitivity ---------- */
if(!strncmp(args[i], "sens", 4))
{
+ int temp;
if(++i >= count)
ABORT_ARG_NUM("Set Sensitivity", SIOCSIWSENS);
- if(sscanf(args[i], "%i", &(wrq.u.sens.value)) != 1)
+ if(sscanf(args[i], "%i", &(temp)) != 1)
ABORT_ARG_TYPE("Set Sensitivity", SIOCSIWSENS, args[i]);
+ wrq.u.sens.value = temp;
IW_SET_EXT_ERR(skfd, ifname, SIOCSIWSENS, &wrq,
"Set Sensitivity");
continue;
@@ -1063,10 +1070,14 @@
"Set RTS Threshold");
wrq.u.rts.fixed = 1;
}
- else /* Should be a numeric value */
- if(sscanf(args[i], "%li", (unsigned long *) &(wrq.u.rts.value))
- != 1)
- ABORT_ARG_TYPE("Set RTS Threshold", SIOCSIWRTS, args[i]);
+ else
+ { /* Should be a numeric value */
+ long temp;
+ if(sscanf(args[i], "%li", (unsigned long *) &(temp)) != 1)
+ ABORT_ARG_TYPE("Set RTS Threshold", SIOCSIWRTS, args[i]);
+
+ wrq.u.rts.value = temp;
+ }
}
IW_SET_EXT_ERR(skfd, ifname, SIOCSIWRTS, &wrq,
@@ -1097,12 +1108,14 @@
"Set Fragmentation Threshold");
wrq.u.frag.fixed = 1;
}
- else /* Should be a numeric value */
- if(sscanf(args[i], "%li",
- (unsigned long *) &(wrq.u.frag.value))
- != 1)
- ABORT_ARG_TYPE("Set Fragmentation Threshold", SIOCSIWFRAG,
+ else
+ { /* Should be a numeric value */
+ long temp;
+ if(sscanf(args[i], "%li", &(temp)) != 1)
+ ABORT_ARG_TYPE("Set Fragmentation Threshold", SIOCSIWFRAG,
args[i]);
+ wrq.u.frag.value = temp;
+ }
}
IW_SET_EXT_ERR(skfd, ifname, SIOCSIWFRAG, &wrq,