From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: wireless-regdb@lists.infradead.org
Cc: linux-wireless@vger.kernel.org,
"Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Subject: [PATCH 09/40] crda: do not double count on reglib_for_each_country()
Date: Thu, 30 May 2013 19:08:58 -0700 [thread overview]
Message-ID: <1369966169-23640-10-git-send-email-mcgrof@do-not-panic.com> (raw)
In-Reply-To: <1369966169-23640-1-git-send-email-mcgrof@do-not-panic.com>
From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Commit ebcbfcf4 introduced reglib_for_each_country() used
by regdbump and later intersect. This helper however only
increased the index count after we requestd getting a new
regulatory domain, this is incorrect and causes us to iterate
over the same element twice in the beginning. This means
intersection and regdb printing was going over the first
element twice. This has been present since v1.1.
This also requires an adjustment on intersect due to the
way things were being handled before.
mcgrof@frijol ~/devel/crda (git::master)$ git describe --contains ebcbfcf4
v1.1.3~9
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
---
intersect.c | 10 +++-------
reglib.h | 3 +--
2 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/intersect.c b/intersect.c
index 5cb7d7c..dea9145 100644
--- a/intersect.c
+++ b/intersect.c
@@ -79,16 +79,12 @@ int main(int argc, char **argv)
return -EINVAL;
}
- if (idx == 1) {
- world = (struct ieee80211_regdomain *) rd;
- rd = NULL;
- }
-
-
if (intersected > 1)
printf("%d regulatory domains intersected\n", intersected);
- else
+ else {
+ world = prev_world;
printf("Only one intersection completed\n");
+ }
/* Tada! */
printf("== World regulatory domain: ==\n");
diff --git a/reglib.h b/reglib.h
index b52d717..8bd9e03 100644
--- a/reglib.h
+++ b/reglib.h
@@ -79,8 +79,7 @@ reglib_get_rd_idx(unsigned int idx, const char *file);
#define reglib_for_each_country(__rd, __idx, __file) \
for (__rd = reglib_get_rd_idx(__idx, __file); \
__rd != NULL; \
- __rd = reglib_get_rd_idx(__idx, __file), \
- __idx++)
+ __rd = reglib_get_rd_idx(++__idx, __file)) \
const struct ieee80211_regdomain *
reglib_get_rd_alpha2(const char *alpha2, const char *file);
--
1.7.10.4
next prev parent reply other threads:[~2013-05-31 2:10 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-31 2:08 [PATCH 00/40] crda: reglib enhancements Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 01/40] crda: make reg_rules_intersect() style match Linux Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 02/40] crda: port over Linux is_valid_reg_rule() change bd05f28e Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 03/40] crda: remove verbose errors out of regdom_intersect() Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 04/40] crda: constify usage of struct ieee80211_regdomain Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 05/40] crda: remove unused BUG_ON() from intersect.c Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 06/40] crda: move regdom_intersect() to reglib Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 07/40] crda: fix regression when using reglib_for_each_country() Luis R. Rodriguez
2013-05-31 2:08 ` [PATCH 08/40] crda: move intersection if first attempt failed Luis R. Rodriguez
2013-05-31 2:08 ` Luis R. Rodriguez [this message]
2013-05-31 2:08 ` [PATCH 10/40] crda: annotate intersection worst case scenerio Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 11/40] crda: fix intersect.c memory management Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 12/40] crda: explicitly munmap() on reglib_get_rd_alpha2() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 13/40] crda: explicitly close file descriptor and munmap() on failures Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 14/40] crda: separate crda_verify_db_signature() implementations Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 15/40] crda: use gcry_sexp_release() on crda_verify_db_signature() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 16/40] crda: explicitly use close() and munmap() on reglib_get_rd_alpha2() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 17/40] crda: use gcry_mpi_release() when using gcry_mpi_scan() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 18/40] crda: rename world and prev_world on intersect.c Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 19/40] crda: remove verbosity out of intersect.c Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 20/40] crda: rename regdom_intersect() to reglib_intersect_rds() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 21/40] crda: rename crda_get_file_ptr() to reglib_get_file_ptr() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 22/40] crda: rename crda_verify_db_signature() to reglib_verify_db_signature() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 23/40] crda: rename print_regdom() to reglib_print_regdom() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 24/40] crda: add regdb_dfs_regions Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 25/40] crda: make print-regdom use internal flags Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 26/40] crda: move reg print helpers to reglib Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 27/40] crda: rename is_world_regdom() to reglib_is_world_regdom() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 28/40] crda: rename isalpha_upper() to reglib_isalpha_upper() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 29/40] crda: rename is_alpha2() to reglib_is_alpha2() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 30/40] crda: rename is_valid_regdom() to reglib_is_valid_regdom() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 31/40] crda: rename max() to reglib_max() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 32/40] crda: rename min() to reglib_min() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 33/40] crda: fix spacing on reglib_for_each_country() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 34/40] crda: clarify intersect.c only computes an intersection Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 35/40] crda: separate intersecting a full db into a helper Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 36/40] crda: move reglib_intersect_regdb() to reglib Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 37/40] crda: move regdbprint to its own helper Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 38/40] crda: add reglib regdb context helpers: reglib_(malloc|free)_regdb_ctx() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 39/40] crda: pass struct reglib_regdb_ctx to country2rd() Luis R. Rodriguez
2013-05-31 2:09 ` [PATCH 40/40] crda: make reglib_for_each_country() use the reglib context Luis R. Rodriguez
2013-06-30 23:08 ` [PATCH 00/40] crda: reglib enhancements Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1369966169-23640-10-git-send-email-mcgrof@do-not-panic.com \
--to=mcgrof@do-not-panic.com \
--cc=linux-wireless@vger.kernel.org \
--cc=wireless-regdb@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).