diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2013-04-27 09:45:06 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2013-04-27 09:45:06 +0000 |
commit | acd03cf8d8c3a047108b7983944b0c8d0228f812 (patch) | |
tree | 2825e0cb2ae9d5cb7d1659d82aca130412df80ad /package/iwinfo/src/iwinfo_cli.c | |
parent | 344bc0ebcac126e43235d1bb4f719ff1794fe794 (diff) | |
download | upstream-acd03cf8d8c3a047108b7983944b0c8d0228f812.tar.gz upstream-acd03cf8d8c3a047108b7983944b0c8d0228f812.tar.bz2 upstream-acd03cf8d8c3a047108b7983944b0c8d0228f812.zip |
AA: iwinfo: merge r34982, r35005, r35007, r35471, r36292, r36339, r36417, r36449, r36450
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@36465 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/iwinfo/src/iwinfo_cli.c')
-rw-r--r-- | package/iwinfo/src/iwinfo_cli.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/package/iwinfo/src/iwinfo_cli.c b/package/iwinfo/src/iwinfo_cli.c index 7ec5aef95c..8da216a6ef 100644 --- a/package/iwinfo/src/iwinfo_cli.c +++ b/package/iwinfo/src/iwinfo_cli.c @@ -17,6 +17,7 @@ */ #include <stdio.h> +#include <glob.h> #include "iwinfo.h" @@ -735,9 +736,11 @@ static void print_countrylist(const struct iwinfo_ops *iw, const char *ifname) int main(int argc, char **argv) { int i; + char *p; const struct iwinfo_ops *iw; + glob_t globbuf; - if (argc < 3) + if (argc > 1 && argc < 3) { fprintf(stderr, "Usage:\n" @@ -752,6 +755,30 @@ int main(int argc, char **argv) return 1; } + if (argc == 1) + { + glob("/sys/class/net/*", 0, NULL, &globbuf); + + for (i = 0; i < globbuf.gl_pathc; i++) + { + p = strrchr(globbuf.gl_pathv[i], '/'); + + if (!p) + continue; + + iw = iwinfo_backend(++p); + + if (!iw) + continue; + + print_info(iw, p); + printf("\n"); + } + + globfree(&globbuf); + return 0; + } + iw = iwinfo_backend(argv[1]); if (!iw) |