[flashrom] [commit] r1481 - trunk
repository service
svn at flashrom.org
Sun Dec 25 10:08:00 CET 2011
Author: stefanct
Date: Sun Dec 25 10:07:59 2011
New Revision: 1481
URL: http://flashrom.org/trac/flashrom/changeset/1481
Log:
layout: change return type and name of find_next_included_romentry
- rename from find_next_included_romentry to get_next_included_romentry
- return a pointer to a rom_entry instead of just its index.
this relieves the (single existing) caller from directly accessing the
data structure holding the entries hence improving segregation and
readability.
Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Modified:
trunk/layout.c
Modified: trunk/layout.c
==============================================================================
--- trunk/layout.c Sat Dec 24 01:00:32 2011 (r1480)
+++ trunk/layout.c Sun Dec 25 10:07:59 2011 (r1481)
@@ -215,26 +215,28 @@
return -1;
}
-int find_next_included_romentry(unsigned int start)
+romlayout_t *get_next_included_romentry(unsigned int start)
{
int i;
unsigned int best_start = UINT_MAX;
- int best_entry = -1;
+ romlayout_t *best_entry = NULL;
+ romlayout_t *cur;
/* First come, first serve for overlapping regions. */
for (i = 0; i < romimages; i++) {
- if (!rom_entries[i].included)
+ cur = &rom_entries[i];
+ if (!cur->included)
continue;
/* Already past the current entry? */
- if (start > rom_entries[i].end)
+ if (start > cur->end)
continue;
/* Inside the current entry? */
- if (start >= rom_entries[i].start)
- return i;
+ if (start >= cur->start)
+ return cur;
/* Entry begins after start. */
- if (best_start > rom_entries[i].start) {
- best_start = rom_entries[i].start;
- best_entry = i;
+ if (best_start > cur->start) {
+ best_start = cur->start;
+ best_entry = cur;
}
}
return best_entry;
@@ -243,7 +245,7 @@
int handle_romentries(struct flashctx *flash, uint8_t *oldcontents, uint8_t *newcontents)
{
unsigned int start = 0;
- int entry;
+ romlayout_t *entry;
unsigned int size = flash->total_size * 1024;
/* If no layout file was specified or the layout file was empty, assume
@@ -255,22 +257,21 @@
* The union of all included romentries is used from the new image.
*/
while (start < size) {
- entry = find_next_included_romentry(start);
+ entry = get_next_included_romentry(start);
/* No more romentries for remaining region? */
- if (entry < 0) {
+ if (!entry) {
memcpy(newcontents + start, oldcontents + start,
size - start);
break;
}
- if (rom_entries[entry].start > start)
+ if (entry->start > start)
memcpy(newcontents + start, oldcontents + start,
- rom_entries[entry].start - start);
+ entry->start - start);
/* Skip to location after current romentry. */
- start = rom_entries[entry].end + 1;
+ start = entry->end + 1;
/* Catch overflow. */
if (!start)
break;
}
-
return 0;
}
More information about the flashrom
mailing list