mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
util: New function for forming English lists.
This follows the rules I learned in school. Some locales may prefer to omit the comma before "and" in a list of three or more items.
This commit is contained in:
11
lib/util.c
11
lib/util.c
@@ -596,3 +596,14 @@ abs_file_name(const char *dir, const char *file_name)
|
||||
* its return value. (Note that every scalar type can be implicitly
|
||||
* converted to bool.) */
|
||||
void ignore(bool x OVS_UNUSED) { }
|
||||
|
||||
/* Returns an appropriate delimiter for inserting just before the 0-based item
|
||||
* 'index' in a list that has 'total' items in it. */
|
||||
const char *
|
||||
english_list_delimiter(size_t index, size_t total)
|
||||
{
|
||||
return (index == 0 ? ""
|
||||
: index < total - 1 ? ", "
|
||||
: total > 2 ? ", and "
|
||||
: " and ");
|
||||
}
|
||||
|
Reference in New Issue
Block a user