david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[image] Use list_first_entry() to clarify logic in main()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2011-03-07 17:10:24 +00:00
parent e87fc5e743
commit 7752541bb7
2 changed files with 11 additions and 5 deletions

View File

@ -88,11 +88,8 @@ __asmcall int main ( void ) {
* booting fails for any reason, offer a second chance
* to enter the shell for diagnostics.
*/
if ( have_images() ) {
for_each_image ( image ) {
image_exec ( image );
break;
}
if ( ( image = first_image() ) != NULL ) {
image_exec ( image );
} else {
autoboot();
}

View File

@ -124,6 +124,15 @@ static inline int have_images ( void ) {
return ( ! list_empty ( &images ) );
}
/**
* Retrieve first image
*
* @ret image Image, or NULL
*/
static inline struct image * first_image ( void ) {
return list_first_entry ( &images, struct image, list );
}
extern struct image * alloc_image ( void );
extern void image_set_uri ( struct image *image, struct uri *uri );
extern int image_set_cmdline ( struct image *image, const char *cmdline );