/branches/gl-inet/package/network/services/hostapd/patches/420-indicate-features.patch |
@@ -0,0 +1,62 @@ |
--- a/hostapd/main.c |
+++ b/hostapd/main.c |
@@ -15,6 +15,7 @@ |
#include "utils/common.h" |
#include "utils/eloop.h" |
#include "utils/uuid.h" |
+#include "utils/build_features.h" |
#include "crypto/random.h" |
#include "crypto/tls.h" |
#include "common/version.h" |
@@ -682,7 +683,7 @@ int main(int argc, char *argv[]) |
wpa_supplicant_event = hostapd_wpa_event; |
wpa_supplicant_event_global = hostapd_wpa_event_global; |
for (;;) { |
- c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:vg:G:"); |
+ c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:g:G:v::"); |
if (c < 0) |
break; |
switch (c) { |
@@ -719,6 +720,8 @@ int main(int argc, char *argv[]) |
break; |
#endif /* CONFIG_DEBUG_LINUX_TRACING */ |
case 'v': |
+ if (optarg) |
+ exit(!has_feature(optarg)); |
show_version(); |
exit(1); |
break; |
--- a/wpa_supplicant/main.c |
+++ b/wpa_supplicant/main.c |
@@ -12,6 +12,7 @@ |
#endif /* __linux__ */ |
|
#include "common.h" |
+#include "build_features.h" |
#include "fst/fst.h" |
#include "wpa_supplicant_i.h" |
#include "driver_i.h" |
@@ -202,7 +203,7 @@ int main(int argc, char *argv[]) |
|
for (;;) { |
c = getopt(argc, argv, |
- "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuvW"); |
+ "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuv::W"); |
if (c < 0) |
break; |
switch (c) { |
@@ -305,8 +306,12 @@ int main(int argc, char *argv[]) |
break; |
#endif /* CONFIG_DBUS */ |
case 'v': |
- printf("%s\n", wpa_supplicant_version); |
- exitcode = 0; |
+ if (optarg) { |
+ exitcode = !has_feature(optarg); |
+ } else { |
+ printf("%s\n", wpa_supplicant_version); |
+ exitcode = 0; |
+ } |
goto out; |
case 'W': |
params.wait_for_monitor++; |