for (i = 0; i < num_countries; i++) {
struct regdb_file_reg_country *country = countries + i;
- r = country2rd(db, dblen, country, &rd);
- if (r) {
+ rd = country2rd(db, dblen, country);
+ if (!rd) {
+ r = -ENOMEM;
fprintf(stderr, "Could not covert country "
"(%.2s) to rd\n", country->alpha2);
goto out;
}
/* Converts a file regdomain to ieee80211_regdomain, easier to manage */
-int country2rd(__u8 *db, int dblen,
- struct regdb_file_reg_country *country,
- struct ieee80211_regdomain **rdp)
+struct ieee80211_regdomain *country2rd(__u8 *db, int dblen,
+ struct regdb_file_reg_country *country)
{
struct regdb_file_reg_rules_collection *rcoll;
struct ieee80211_regdomain *rd;
size_of_rd = sizeof(struct ieee80211_regdomain) +
num_rules * sizeof(struct ieee80211_reg_rule);
- *rdp = malloc(size_of_rd);
- if (!*rdp)
- return -ENOMEM;
-
- rd = *rdp;
+ rd = malloc(size_of_rd);
+ if (!rd)
+ return NULL;
memset(rd, 0, size_of_rd);
&rd->reg_rules[i]);
}
- return 0;
+ return rd;
}
/* Sanity check on a regulatory rule */
/* File reg db entry -> rd converstion utilities */
void reg_rule2rd(__u8 *db, int dblen,
__be32 ruleptr, struct ieee80211_reg_rule *rd_reg_rule);
-int country2rd(__u8 *db, int dblen,
- struct regdb_file_reg_country *country,
- struct ieee80211_regdomain **rdp);
+struct ieee80211_regdomain *country2rd(__u8 *db, int dblen,
+ struct regdb_file_reg_country *country);
/* reg helpers */
int is_valid_reg_rule(const struct ieee80211_reg_rule *rule);