| 1 |
/* |
| 2 |
strlist.h |
| 3 |
String list macros for making char ** arrays |
| 4 |
Copyright 2007 Gentoo Foundation |
| 5 |
Based on a previous implementation by Martin Schlemmer |
| 6 |
Released under the GPLv2 |
| 7 |
*/ |
| 8 |
|
| 9 |
#ifndef __STRLIST_H__ |
| 10 |
#define __STRLIST_H__ |
| 11 |
|
| 12 |
/* FIXME: We should replace the macro with an rc_strlist_foreach |
| 13 |
function, but I'm unsure how to go about this. */ |
| 14 |
|
| 15 |
/* Step through each entry in the string list, setting '_pos' to the |
| 16 |
beginning of the entry. '_counter' is used by the macro as index, |
| 17 |
but should not be used by code as index (or if really needed, then |
| 18 |
it should usually by +1 from what you expect, and should only be |
| 19 |
used in the scope of the macro) */ |
| 20 |
#define STRLIST_FOREACH(_list, _pos, _counter) \ |
| 21 |
if ((_list) && _list[0] && ! (_counter = 0)) \ |
| 22 |
while ((_pos = _list[_counter++])) |
| 23 |
|
| 24 |
#endif /* __STRLIST_H__ */ |