aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/block/ibft.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/block/ibft.c')
-rw-r--r--src/drivers/block/ibft.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/drivers/block/ibft.c b/src/drivers/block/ibft.c
index 75ca51a9c..0700f8c4f 100644
--- a/src/drivers/block/ibft.c
+++ b/src/drivers/block/ibft.c
@@ -107,7 +107,7 @@ static void ibft_set_ipaddr ( struct ibft_ipaddr *ipaddr, struct in_addr in ) {
* @v count Maximum number of IP addresses
*/
static void ibft_set_ipaddr_setting ( struct ibft_ipaddr *ipaddr,
- struct setting *setting,
+ const struct setting *setting,
unsigned int count ) {
struct in_addr in[count];
unsigned int i;
@@ -183,11 +183,13 @@ static int ibft_set_string ( struct ibft_strings *strings,
*/
static int ibft_set_string_setting ( struct ibft_strings *strings,
struct ibft_string *string,
- struct setting *setting ) {
+ const struct setting *setting ) {
+ struct settings *origin;
+ struct setting fetched;
int len;
char *dest;
- len = fetch_setting_len ( NULL, setting );
+ len = fetch_setting ( NULL, setting, &origin, &fetched, NULL, 0 );
if ( len < 0 ) {
string->offset = 0;
string->len = 0;
@@ -197,7 +199,7 @@ static int ibft_set_string_setting ( struct ibft_strings *strings,
dest = ibft_alloc_string ( strings, string, len );
if ( ! dest )
return -ENOBUFS;
- fetch_string_setting ( NULL, setting, dest, ( len + 1 ) );
+ fetch_string_setting ( origin, &fetched, dest, ( len + 1 ));
return 0;
}