[tables] Allow any lvalue to be used as a table iterator

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2023-02-20 13:46:45 +00:00
parent 9f17d1116d
commit 6625e49cea

View File

@@ -383,9 +383,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
* *
*/ */
#define for_each_table_entry( pointer, table ) \ #define for_each_table_entry( pointer, table ) \
for ( pointer = table_start ( table ) ; \ for ( (pointer) = table_start ( table ) ; \
pointer < table_end ( table ) ; \ (pointer) < table_end ( table ) ; \
pointer++ ) (pointer)++ )
/** /**
* Iterate through all remaining entries within a linker table * Iterate through all remaining entries within a linker table
@@ -412,9 +412,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
* *
*/ */
#define for_each_table_entry_continue( pointer, table ) \ #define for_each_table_entry_continue( pointer, table ) \
for ( pointer++ ; \ for ( (pointer)++ ; \
pointer < table_end ( table ) ; \ (pointer) < table_end ( table ) ; \
pointer++ ) (pointer)++ )
/** /**
* Iterate through all entries within a linker table in reverse order * Iterate through all entries within a linker table in reverse order
@@ -438,9 +438,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
* *
*/ */
#define for_each_table_entry_reverse( pointer, table ) \ #define for_each_table_entry_reverse( pointer, table ) \
for ( pointer = ( table_end ( table ) - 1 ) ; \ for ( (pointer) = ( table_end ( table ) - 1 ) ; \
pointer >= table_start ( table ) ; \ (pointer) >= table_start ( table ) ; \
pointer-- ) (pointer)-- )
/** /**
* Iterate through all remaining entries within a linker table in reverse order * Iterate through all remaining entries within a linker table in reverse order
@@ -467,8 +467,8 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
* *
*/ */
#define for_each_table_entry_continue_reverse( pointer, table ) \ #define for_each_table_entry_continue_reverse( pointer, table ) \
for ( pointer-- ; \ for ( (pointer)-- ; \
pointer >= table_start ( table ) ; \ (pointer) >= table_start ( table ) ; \
pointer-- ) (pointer)-- )
#endif /* _IPXE_TABLES_H */ #endif /* _IPXE_TABLES_H */