Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 145923 Details for
Bug 223161
Make sure wireless-tools work with ipw3945 (64bit problems in -28)
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Diff from wt-29-pre7 to wt-29-pre8 in which sscanf 64-bit fixes were added upstream
wt-pre7-pre8.diff (text/plain), 20.51 KB, created by
Dan Williams
on 2007-01-18 15:05:42 UTC
(
hide
)
Description:
Diff from wt-29-pre7 to wt-29-pre8 in which sscanf 64-bit fixes were added upstream
Filename:
MIME Type:
Creator:
Dan Williams
Created:
2007-01-18 15:05:42 UTC
Size:
20.51 KB
patch
obsolete
>diff -ru wireless_tools.29.pre7/CHANGELOG.h wireless_tools.29.pre8/CHANGELOG.h >--- wireless_tools.29.pre7/CHANGELOG.h 2006-03-30 18:41:30.000000000 -0500 >+++ wireless_tools.29.pre8/CHANGELOG.h 2006-04-13 17:51:24.000000000 -0400 >@@ -623,6 +623,8 @@ > * --- > * o Introduce WE_MAX_VERSION to take into account forward compat [iwlib] > * o Add WE-20 headers, compile with that as default >+ * --- >+ * o Fix 'inline' for gcc-4 as well. Grrr... [iwlib] > * > * wireless 29 : > * ----------- >@@ -655,6 +657,14 @@ > * o Add WE_ESSENTIAL compile option to drop 10kB [Makefile] > * --- > * o Update manpages with new features above [man] >+ * --- >+ * o Add temp variable to sscanf() to fix 64 bits issues [iwconfig] >+ * o De-inline get_pm_value/get_retry_value to reduce footprint [iwlist] >+ * o Optimise iw_print_ie_cipher/iw_print_ie_auth [iwlist] >+ * o Add "Memory footprint reduction" section in doc [README] >+ * o Add 'last' scan option for left-over scan [iwlist] >+ * (From Stavros Markou <smarkou@patras.atmel.com>) >+ * o Add 'essid' scan option for directed scan [iwlist] > */ > > /* ----------------------------- TODO ----------------------------- */ >diff -ru wireless_tools.29.pre7/INSTALL wireless_tools.29.pre8/INSTALL >--- wireless_tools.29.pre7/INSTALL 2004-11-22 19:27:27.000000000 -0500 >+++ wireless_tools.29.pre8/INSTALL 2006-04-13 16:40:14.000000000 -0400 >@@ -36,17 +36,87 @@ > -------------------------------- > By default, the package is built with iwlib as a dynamic > library, and the tool will expect to use the default version of libiw >-on the system. >+on the system. This means you can't use the tools until they are >+properly installed. > If you just want to experiment with a "local" version of the > tools, you may want to pass the BUILD_STATIC flag to Makefile. It will > create a self contained version of the tools. >-------------- >-make clean >-make BUILD_STATIC='y' >-------------- >+ ------------- >+ make clean >+ make BUILD_STATIC='y' >+ ------------- > The resulting binary can be used in the compilation directory > or installed in any place you like. > >+Other useful Makefile options : >+----------------------------- >+ PREFIX : where the tools will be installed (default : /usr/local) >+ CC : Compiler to use (defaul : gcc) >+ BUILD_STATIC : build tools with a static version of the wireless lib >+ BUILD_NOLIBM : build tools without mathematical lib (slower) >+ BUILD_STRIPPING : strip symbols from tools/lib. >+ BUILD_WE_ESSENTIAL : remove less used and obsolete features. >+ >+ You can pass those options on the command line of make, or >+modify the top of the Makefile. You can also set them as environment >+variable, but this is not recommended. >+ If you pass those options on the command line, you should pass >+the same command line options for all invocations of make ("make" and >+"make install"). >+ >+Memory footprint reduction : >+-------------------------- >+ The Wireless Tools are used in various embedded systems where >+memory footprint is a great concern. The Wireless Tools package offer >+multiple options to customise the compilation depending on the level >+of features you want. >+ The list below details the must useful combinations of these >+options, from the largest footprint to the smallest. Footprint depend >+on lot's of factor and is purely indicative (version 29-pre7+, i386, >+glibc, gcc 3.3.5). >+ >+ 1) Static build >+ Command line : make BUILD_STATIC='y' >+ - : Largest footprint >+ - : libiw not included (other third party tools may depend on it) >+ Size : ~280 kB >+ >+ 2) Default build >+ Command line : make >+ + : Fully featured version of the tools >+ - : Largest footprint (except for static version of tools) >+ Size : ~190 kB (libiw : ~29 kB ; ifrename : ~29 kB) >+ >+ 3) Stripping (remove function symbols) >+ Command line : make BUILD_STRIPPING='y' >+ + : Fully featured version of the tools >+ - : Still quite large >+ Size : ~110 kB (libiw : ~23 kB ; ifrename : ~17 kB) >+ >+ 4) Multicall version (include stripping) >+ Command line : make iwmulticall ; make install-iwmulticall >+ + : Fully featured version of the tools >+ + : Small >+ - : libiw not included (other third party tools may depend on it) >+ - : ifrename is not included >+ Size : ~55 kB >+ >+ 5) Multicall + Essential >+ Command line : make BUILD_WE_ESSENTIAL='y' iwmulticall >+ + : Smaller >+ - : Some less used features are left out >+ - : libiw not included (other third party tools may depend on it) >+ - : ifrename is not included >+ Size : ~44 kB >+ >+ 6) iwconfig only + essential + static >+ Command line : make BUILD_WE_ESSENTIAL='y' BUILD_STATIC='y' BUILD_STRIPPING='y' iwconfig >+ + : Very small >+ - : Very limited functionality : no scanning, no event, no iwpriv >+ - : libiw not included (other third party tools may depend on it) >+ - : ifrename is not included >+ Size : ~28 kB >+ > Wireless headers (past history) : > ------------------------------- > Previous version of the Wireless Tools had to be compiled with >@@ -63,18 +133,6 @@ > Note that the previous option to make versioned installed of > the tools no longer make sense and therefore is gone. > >-Other useful Makefile options : >------------------------------ >- PREFIX : where the tools will be installed (default : /usr/local) >- BUILD_STATIC : build tools with a static version of the wireless lib >- BUILD_NOLIBM : build tools without mathematical lib (slower) >- Note that you should pass the same command line options for >-all invocations of make ("make" and "make install"). >- >- If you want the absolute minimal footprint, you may want to >-look into the multicall version of the tools. You can build it with >-"make iwmulticall" and install it with "make install-iwmulticall". >- > Old kernel with older Wireless Extensions : > ----------------------------------------- > Kernel prior to 2.2.14 : Those kernels include Wireless >diff -ru wireless_tools.29.pre7/iwconfig.c wireless_tools.29.pre8/iwconfig.c >--- wireless_tools.29.pre7/iwconfig.c 2006-03-28 20:40:26.000000000 -0500 >+++ wireless_tools.29.pre8/iwconfig.c 2006-04-07 12:45:26.000000000 -0400 >@@ -1154,6 +1154,7 @@ > int count) /* Args count */ > { > struct iwreq wrq; >+ unsigned long temp; > > /* Avoid "Unused parameter" warning */ > count = count; >@@ -1170,13 +1171,16 @@ > wrq.u.nwid.disabled = 0; > } > else >- if(sscanf(args[0], "%lX", (unsigned long *) &(wrq.u.nwid.value)) != 1) >+ if(sscanf(args[0], "%lX", &(temp)) != 1) > { > errarg = 0; > return(IWERR_ARG_TYPE); > } > else >- wrq.u.nwid.disabled = 0; >+ { >+ wrq.u.nwid.value = temp; >+ wrq.u.nwid.disabled = 0; >+ } > > wrq.u.nwid.fixed = 1; > >@@ -1364,15 +1368,17 @@ > int count) /* Args count */ > { > struct iwreq wrq; >+ int temp; > > /* Avoid "Unused parameter" warning */ > count = count; > >- if(sscanf(args[0], "%i", &(wrq.u.sens.value)) != 1) >+ if(sscanf(args[0], "%i", &(temp)) != 1) > { > errarg = 0; > return(IWERR_ARG_TYPE); > } >+ wrq.u.sens.value = temp; > > if(iw_set_ext(skfd, ifname, SIOCSIWSENS, &wrq) < 0) > return(IWERR_SET_EXT); >@@ -1480,12 +1486,16 @@ > return(IWERR_GET_EXT); > wrq.u.rts.fixed = 1; > } >- else /* Should be a numeric value */ >- if(sscanf(args[0], "%li", (unsigned long *) &(wrq.u.rts.value)) != 1) >- { >- errarg = 0; >- return(IWERR_ARG_TYPE); >- } >+ else >+ { /* Should be a numeric value */ >+ long temp; >+ if(sscanf(args[0], "%li", (unsigned long *) &(temp)) != 1) >+ { >+ errarg = 0; >+ return(IWERR_ARG_TYPE); >+ } >+ wrq.u.rts.value = temp; >+ } > } > > if(iw_set_ext(skfd, ifname, SIOCSIWRTS, &wrq) < 0) >@@ -1528,13 +1538,17 @@ > return(IWERR_GET_EXT); > wrq.u.frag.fixed = 1; > } >- else /* Should be a numeric value */ >- if(sscanf(args[0], "%li", (unsigned long *) &(wrq.u.frag.value)) >- != 1) >- { >- errarg = 0; >- return(IWERR_ARG_TYPE); >- } >+ else >+ { /* Should be a numeric value */ >+ long temp; >+ if(sscanf(args[0], "%li", &(temp)) >+ != 1) >+ { >+ errarg = 0; >+ return(IWERR_ARG_TYPE); >+ } >+ wrq.u.frag.value = temp; >+ } > } > > if(iw_set_ext(skfd, ifname, SIOCSIWFRAG, &wrq) < 0) >diff -ru wireless_tools.29.pre7/iwlib.h wireless_tools.29.pre8/iwlib.h >--- wireless_tools.29.pre7/iwlib.h 2006-03-30 18:07:34.000000000 -0500 >+++ wireless_tools.29.pre8/iwlib.h 2006-04-13 14:14:22.000000000 -0400 >@@ -99,14 +99,26 @@ > * Fortunately, in gcc 3.4, they now automatically inline static functions > * with a single call site. Hurrah ! > * Jean II */ >+#undef IW_GCC_HAS_BROKEN_INLINE > #if __GNUC__ == 3 > #if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 >+#define IW_GCC_HAS_BROKEN_INLINE 1 >+#endif /* __GNUC_MINOR__ */ >+#endif /* __GNUC__ */ >+/* However, gcc 4.0 has introduce a new "feature", when compiling with >+ * '-Os', it does not want to inline iw_ether_cmp() and friends. >+ * So, we need to fix inline again ! >+ * Jean II */ >+#if __GNUC__ == 4 >+#define IW_GCC_HAS_BROKEN_INLINE 1 >+#endif /* __GNUC__ */ >+/* Now, really fix the inline */ >+#ifdef IW_GCC_HAS_BROKEN_INLINE > #ifdef inline > #undef inline >-#endif >+#endif /* inline */ > #define inline inline __attribute__((always_inline)) >-#endif >-#endif /* __GNUC__ */ >+#endif /* IW_GCC_HAS_BROKEN_INLINE */ > > #ifdef __cplusplus > extern "C" { >diff -ru wireless_tools.29.pre7/iwlist.8 wireless_tools.29.pre8/iwlist.8 >--- wireless_tools.29.pre7/iwlist.8 2006-03-30 18:37:24.000000000 -0500 >+++ wireless_tools.29.pre8/iwlist.8 2006-04-13 17:50:02.000000000 -0400 >@@ -1,7 +1,7 @@ > .\" Jean II - HPLB - 96 > .\" iwlist.8 > .\" >-.TH IWLIST 8 "23 June 2004" "wireless-tools" "Linux Programmer's Manual" >+.TH IWLIST 8 "13 April 2006" "wireless-tools" "Linux Programmer's Manual" > .\" > .\" NAME part > .\" >@@ -60,10 +60,15 @@ > Triggering scanning is a privileged operation > .RI ( root > only) and normal users can only read left-over scan results. By >-default, the way scanning is done (the scope of the scan) will be >-impacted by the current setting of the driver. Also, this command is >-supposed to take extra arguments to control the scanning behaviour, >-but this is currently not implemented. >+default, the way scanning is done (the scope of the scan) is dependant >+on the card and card settings. >+.br >+This command take optional arguments, however most drivers will ignore >+those. The option >+.B essid >+is used to specify a scan on a specific ESSID. The option >+.B last >+do not trigger a scan and read left-over scan results. > .TP > .BR freq [uency]/ channel > Give the list of available frequencies in the device and the number of >diff -ru wireless_tools.29.pre7/iwlist.c wireless_tools.29.pre8/iwlist.c >--- wireless_tools.29.pre7/iwlist.c 2006-03-30 18:04:39.000000000 -0500 >+++ wireless_tools.29.pre8/iwlist.c 2006-04-13 17:48:42.000000000 -0400 >@@ -14,6 +14,10 @@ > #include "iwlib.h" /* Header */ > #include <sys/time.h> > >+/**************************** CONSTANTS ****************************/ >+ >+#define IW_SCAN_HACK 0x8000 >+ > /****************************** TYPES ******************************/ > > /* >@@ -64,40 +68,45 @@ > * Display the cipher type for the value passed in. > * > */ >+static const char * iw_cipher_name[] = { >+ "None or same as Group ", >+ "WEP-40 ", >+ "TKIP ", >+ "WRAP ", >+ "CCMP ", >+ "WEP-104 ", >+ "Unknown ", >+}; >+#define IW_CIPHER_NUM (sizeof(iw_cipher_name)/sizeof(iw_cipher_name[0])) >+ > static inline void > iw_print_ie_cipher(unsigned char csuite) > { >- switch (csuite) >- { >- case 0x00: >- printf("None or same as Group "); >- break; >- >- case 0x01: >- printf("WEP-40 "); >- break; >- >- case 0x02: >- printf("TKIP "); >- break; >- >- case 0x03: >- printf("WRAP "); >- break; >- >- case 0x04: >- printf("CCMP "); >- break; >- >- case 0x05: >- printf("WEP-104 "); >- break; >+ if(csuite > (IW_CIPHER_NUM - 1)) >+ csuite = IW_CIPHER_NUM - 1; >+ printf(iw_cipher_name[csuite]); >+} > >- default: >- printf("Unknown "); >- break; >- } >- } >+/*-----------------------------------------------------------------*/ >+/* >+ * Display the authentication suite for the value passed in. >+ * >+ */ >+static const char * iw_auth_name[] = { >+ "Reserved ", >+ "802.1X ", >+ "PSK ", >+ "Unknown ", >+}; >+#define IW_AUTH_NUM (sizeof(iw_auth_name)/sizeof(iw_auth_name[0])) >+ >+static inline void >+iw_print_ie_auth(unsigned char asuite) >+{ >+ if(asuite > (IW_AUTH_NUM - 1)) >+ asuite = IW_AUTH_NUM - 1; >+ printf(iw_auth_name[asuite]); >+} > > /*------------------------------------------------------------------*/ > /* >@@ -236,24 +245,7 @@ > } > else > { >- switch(iebuf[offset+3]) >- { >- case 0x00: >- printf("Reserved "); >- break; >- >- case 0x01: >- printf("802.1X "); >- break; >- >- case 0x02: >- printf("PSK "); >- break; >- >- default: >- printf("Unknown "); >- break; >- } >+ iw_print_ie_auth(iebuf[offset+3]); > } > offset+=4; > } >@@ -473,6 +465,8 @@ > int count) /* Args count */ > { > struct iwreq wrq; >+ struct iw_scan_req scanopt; /* Options for 'set' */ >+ int scanflags = 0; /* Flags for scan */ > unsigned char * buffer = NULL; /* Results */ > int buflen = IW_SCAN_MAX_DATA; /* Min for compat WE<17 */ > struct iw_range range; >@@ -494,35 +488,104 @@ > return(-1); > } > >- /* Init timeout value -> 250ms*/ >+ /* Init timeout value -> 250ms between set and first get */ > tv.tv_sec = 0; > tv.tv_usec = 250000; > >- /* >- * Here we should look at the command line args and set the IW_SCAN_ flags >- * properly >- */ >- wrq.u.data.pointer = NULL; /* Later */ >- wrq.u.data.flags = 0; >- wrq.u.data.length = 0; >+ /* Clean up set args */ >+ memset(&scanopt, 0, sizeof(scanopt)); > >- /* Initiate Scanning */ >- if(iw_set_ext(skfd, ifname, SIOCSIWSCAN, &wrq) < 0) >+ /* Parse command line arguments and extract options. >+ * Note : when we have enough options, we should use the parser >+ * from iwconfig... */ >+ while(count > 0) > { >- if(errno != EPERM) >+ /* One arg is consumed (the option name) */ >+ count--; >+ >+ /* >+ * Check for Active Scan (scan with specific essid) >+ */ >+ if(!strncmp(args[0], "essid", 5)) > { >- fprintf(stderr, "%-8.16s Interface doesn't support scanning : %s\n\n", >- ifname, strerror(errno)); >- return(-1); >+ if(count < 1) >+ { >+ fprintf(stderr, "Too few arguments for scanning option [%s]\n", >+ args[0]); >+ return(-1); >+ } >+ args++; >+ count--; >+ >+ /* Store the ESSID in the scan options */ >+ scanopt.essid_len = strlen(args[0]); >+ memcpy(scanopt.essid, args[0], scanopt.essid_len); >+ /* Initialise BSSID as needed */ >+ if(scanopt.bssid.sa_family == 0) >+ { >+ scanopt.bssid.sa_family = ARPHRD_ETHER; >+ memset(scanopt.bssid.sa_data, 0xff, ETH_ALEN); >+ } >+ /* Scan only this ESSID */ >+ scanflags |= IW_SCAN_THIS_ESSID; > } >- /* If we don't have the permission to initiate the scan, we may >- * still have permission to read left-over results. >- * But, don't wait !!! */ >+ else >+ /* Check for last scan result (do not trigger scan) */ >+ if(!strncmp(args[0], "last", 4)) >+ { >+ /* Hack */ >+ scanflags |= IW_SCAN_HACK; >+ } >+ else >+ { >+ fprintf(stderr, "Invalid scanning option [%s]\n", args[0]); >+ return(-1); >+ } >+ >+ /* Next arg */ >+ args++; >+ } >+ >+ /* Check if we have scan options */ >+ if(scanflags) >+ { >+ wrq.u.data.pointer = (caddr_t) &scanopt; >+ wrq.u.data.length = sizeof(scanopt); >+ wrq.u.data.flags = scanflags; >+ } >+ else >+ { >+ wrq.u.data.pointer = NULL; >+ wrq.u.data.flags = 0; >+ wrq.u.data.length = 0; >+ } >+ >+ /* If only 'last' was specified on command line, don't trigger a scan */ >+ if(scanflags == IW_SCAN_HACK) >+ { >+ /* Skip waiting */ >+ tv.tv_usec = 0; >+ } >+ else >+ { >+ /* Initiate Scanning */ >+ if(iw_set_ext(skfd, ifname, SIOCSIWSCAN, &wrq) < 0) >+ { >+ if((errno != EPERM) || (scanflags != 0)) >+ { >+ fprintf(stderr, "%-8.16s Interface doesn't support scanning : %s\n\n", >+ ifname, strerror(errno)); >+ return(-1); >+ } >+ /* If we don't have the permission to initiate the scan, we may >+ * still have permission to read left-over results. >+ * But, don't wait !!! */ > #if 0 >- /* Not cool, it display for non wireless interfaces... */ >- fprintf(stderr, "%-8.16s (Could not trigger scanning, just reading left-over results)\n", ifname); >+ /* Not cool, it display for non wireless interfaces... */ >+ fprintf(stderr, "%-8.16s (Could not trigger scanning, just reading left-over results)\n", ifname); > #endif >- tv.tv_usec = 0; >+ tv.tv_usec = 0; >+ } > } > timeout -= tv.tv_usec; > >@@ -915,7 +978,7 @@ > /* > * Print Power Management info for each device > */ >-static inline int >+static int > get_pm_value(int skfd, > char * ifname, > struct iwreq * pwrq, >@@ -1228,7 +1291,7 @@ > /* > * Print one retry value > */ >-static inline int >+static int > get_retry_value(int skfd, > char * ifname, > struct iwreq * pwrq, >@@ -1645,29 +1708,29 @@ > * Map command line arguments to the proper procedure... > */ > typedef struct iwlist_entry { >- const char * cmd; >- iw_enum_handler fn; >- int min_count; >+ const char * cmd; /* Command line shorthand */ >+ iw_enum_handler fn; /* Subroutine */ > int max_count; >+ const char * argsname; /* Args as human readable string */ > } iwlist_cmd; > > static const struct iwlist_entry iwlist_cmds[] = { >- { "scanning", print_scanning_info, 0, 5 }, >- { "frequency", print_freq_info, 0, 0 }, >- { "channel", print_freq_info, 0, 0 }, >- { "bitrate", print_bitrate_info, 0, 0 }, >- { "rate", print_bitrate_info, 0, 0 }, >- { "encryption", print_keys_info, 0, 0 }, >- { "key", print_keys_info, 0, 0 }, >- { "power", print_pm_info, 0, 0 }, >+ { "scanning", print_scanning_info, -1, "[essid NNN] [last]" }, >+ { "frequency", print_freq_info, 0, NULL }, >+ { "channel", print_freq_info, 0, NULL }, >+ { "bitrate", print_bitrate_info, 0, NULL }, >+ { "rate", print_bitrate_info, 0, NULL }, >+ { "encryption", print_keys_info, 0, NULL }, >+ { "key", print_keys_info, 0, NULL }, >+ { "power", print_pm_info, 0, NULL }, > #ifndef WE_ESSENTIAL >- { "txpower", print_txpower_info, 0, 0 }, >- { "retry", print_retry_info, 0, 0 }, >- { "ap", print_ap_info, 0, 0 }, >- { "accesspoints", print_ap_info, 0, 0 }, >- { "peers", print_ap_info, 0, 0 }, >- { "event", print_event_capa_info, 0, 0 }, >- { "modulation", print_modul_info, 0, 0 }, >+ { "txpower", print_txpower_info, 0, NULL }, >+ { "retry", print_retry_info, 0, NULL }, >+ { "ap", print_ap_info, 0, NULL }, >+ { "accesspoints", print_ap_info, 0, NULL }, >+ { "peers", print_ap_info, 0, NULL }, >+ { "event", print_event_capa_info, 0, NULL }, >+ { "modulation", print_modul_info, 0, NULL }, > #endif /* WE_ESSENTIAL */ > { NULL, NULL, 0, 0 }, > }; >@@ -1729,7 +1792,8 @@ > FILE* f = status ? stderr : stdout; > int i; > >- fprintf(f, "Usage: iwlist [interface] %s\n", iwlist_cmds[0].cmd); >+ fprintf(f, "Usage: iwlist [interface] %s %s\n", iwlist_cmds[0].cmd, >+ iwlist_cmds[0].argsname); > for(i = 1; iwlist_cmds[i].cmd != NULL; ++i) > fprintf(f, " [interface] %s\n", iwlist_cmds[i].cmd); > exit(status); >@@ -1752,7 +1816,7 @@ > int count; /* Number of arguments */ > const iwlist_cmd *iwcmd; > >- if(argc == 1 || argc > 3) >+ if(argc < 2) > iw_usage(1); > > /* Those don't apply to all interfaces */ >@@ -1782,16 +1846,10 @@ > return 1; > > /* Check arg numbers */ >- if(count < iwcmd->min_count) >- { >- fprintf(stderr, "iwlist: command `%s' needs more arguments\n", >- iwcmd->cmd); >- return 1; >- } >- if(count > iwcmd->max_count) >+ if((iwcmd->max_count >= 0) && (count > iwcmd->max_count)) > { >- fprintf(stderr, "iwlist: command `%s' needs fewer arguments\n", >- iwcmd->cmd); >+ fprintf(stderr, "iwlist: command `%s' needs fewer arguments (max %d)\n", >+ iwcmd->cmd, iwcmd->max_count); > return 1; > } > >diff -ru wireless_tools.29.pre7/Makefile wireless_tools.29.pre8/Makefile >--- wireless_tools.29.pre7/Makefile 2006-03-30 18:38:57.000000000 -0500 >+++ wireless_tools.29.pre8/Makefile 2006-03-31 16:44:29.000000000 -0500 >@@ -9,7 +9,7 @@ > endif > > ## Compiler to use (modify this for cross compile). >-CC = gcc >+CC = gcc-3.4 > ## Other tools you need to modify for cross compile (static lib only). > AR = ar > RANLIB = ranlib >diff -ru wireless_tools.29.pre7/README wireless_tools.29.pre8/README >--- wireless_tools.29.pre7/README 2005-01-13 21:04:29.000000000 -0500 >+++ wireless_tools.29.pre8/README 2006-04-13 16:24:23.000000000 -0400 >@@ -112,6 +112,10 @@ > The Wireless Tools helper library. May be useful if you want > to create your own applications using Wireless Extensions. > >+iwmulticall.c >+------------- >+ Multicall version of the tools for embedded systems. >+ > Changelog, contributions : > ------------------------ > See CHANGELOG.h
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 223161
:
145922
| 145923