Browse Source

[settings] Fix setting expansion

Commit 5fbd020 ("[settings] Display canonical setting name in output
of "show" command") introduced a regression causing all setting
expansions (e.g. "${net0/mac}") to expand to an empty string.

Fix by returning the formatted value length from
fetchf_named_setting(), as expected by the caller.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 14 years ago
parent
commit
b36882be34
1 changed files with 4 additions and 3 deletions
  1. 4
    3
      src/core/settings.c

+ 4
- 3
src/core/settings.c View File

1123
 	struct setting setting;
1123
 	struct setting setting;
1124
 	struct settings *origin;
1124
 	struct settings *origin;
1125
 	char tmp_name[ strlen ( name ) + 1 ];
1125
 	char tmp_name[ strlen ( name ) + 1 ];
1126
+	int len;
1126
 	int rc;
1127
 	int rc;
1127
 
1128
 
1128
 	/* Parse setting name */
1129
 	/* Parse setting name */
1131
 		return rc;
1132
 		return rc;
1132
 
1133
 
1133
 	/* Fetch setting */
1134
 	/* Fetch setting */
1134
-	if ( ( rc = fetchf_setting ( settings, &setting, value_buf,
1135
+	if ( ( len = fetchf_setting ( settings, &setting, value_buf,
1135
 				     value_len ) ) < 0 )
1136
 				     value_len ) ) < 0 )
1136
-		return rc;
1137
+		return len;
1137
 
1138
 
1138
 	/* Construct setting name */
1139
 	/* Construct setting name */
1139
 	origin = fetch_setting_origin ( settings, &setting );
1140
 	origin = fetch_setting_origin ( settings, &setting );
1140
 	assert ( origin != NULL );
1141
 	assert ( origin != NULL );
1141
 	setting_name ( origin, &setting, name_buf, name_len );
1142
 	setting_name ( origin, &setting, name_buf, name_len );
1142
 
1143
 
1143
-	return 0;
1144
+	return len;
1144
 }
1145
 }
1145
 
1146
 
1146
 /******************************************************************************
1147
 /******************************************************************************

Loading…
Cancel
Save