summaryrefslogtreecommitdiffstats
path: root/layout.c
diff options
context:
space:
mode:
Diffstat (limited to 'layout.c')
-rw-r--r--layout.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/layout.c b/layout.c
index d0d2607e1..7fd203d13 100644
--- a/layout.c
+++ b/layout.c
@@ -15,6 +15,7 @@
* GNU General Public License for more details.
*/
+#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
@@ -308,6 +309,24 @@ int normalize_romentries(const struct flashctx *flash)
return ret;
}
+void prepare_layout_for_extraction(struct flashctx *flash)
+{
+ const struct flashrom_layout *const l = get_layout(flash);
+ unsigned int i, j;
+
+ for (i = 0; i < l->num_entries; ++i) {
+ l->entries[i].included = true;
+
+ if (!l->entries[i].file)
+ l->entries[i].file = strdup(l->entries[i].name);
+
+ for (j = 0; l->entries[i].file[j]; j++) {
+ if (isspace(l->entries[i].file[j]))
+ l->entries[i].file[j] = '_';
+ }
+ }
+}
+
const struct romentry *layout_next_included_region(
const struct flashrom_layout *const l, const chipoff_t where)
{