mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 16:37:19 +09:00
core: rework unit_active_state_to_glyph() to use a translation table
Let's make this a bit more readable by implementing this via a translation table, indexed by the state.
This commit is contained in:
@@ -296,22 +296,19 @@ static const char* const notify_access_table[_NOTIFY_ACCESS_MAX] = {
|
||||
DEFINE_STRING_TABLE_LOOKUP(notify_access, NotifyAccess);
|
||||
|
||||
SpecialGlyph unit_active_state_to_glyph(UnitActiveState state) {
|
||||
switch (state) {
|
||||
case UNIT_ACTIVE:
|
||||
return SPECIAL_GLYPH_BLACK_CIRCLE;
|
||||
case UNIT_RELOADING:
|
||||
return SPECIAL_GLYPH_CIRCLE_ARROW;
|
||||
case UNIT_INACTIVE:
|
||||
return SPECIAL_GLYPH_WHITE_CIRCLE;
|
||||
case UNIT_FAILED:
|
||||
return SPECIAL_GLYPH_MULTIPLICATION_SIGN;
|
||||
case UNIT_ACTIVATING:
|
||||
case UNIT_DEACTIVATING:
|
||||
return SPECIAL_GLYPH_BLACK_CIRCLE;
|
||||
case UNIT_MAINTENANCE:
|
||||
return SPECIAL_GLYPH_WHITE_CIRCLE;
|
||||
static const SpecialGlyph map[_UNIT_ACTIVE_STATE_MAX] = {
|
||||
[UNIT_ACTIVE] = SPECIAL_GLYPH_BLACK_CIRCLE,
|
||||
[UNIT_RELOADING] = SPECIAL_GLYPH_CIRCLE_ARROW,
|
||||
[UNIT_INACTIVE] = SPECIAL_GLYPH_WHITE_CIRCLE,
|
||||
[UNIT_FAILED] = SPECIAL_GLYPH_MULTIPLICATION_SIGN,
|
||||
[UNIT_ACTIVATING] = SPECIAL_GLYPH_BLACK_CIRCLE,
|
||||
[UNIT_DEACTIVATING] = SPECIAL_GLYPH_BLACK_CIRCLE,
|
||||
[UNIT_MAINTENANCE] = SPECIAL_GLYPH_WHITE_CIRCLE,
|
||||
};
|
||||
|
||||
default:
|
||||
return SPECIAL_GLYPH_BLACK_CIRCLE;
|
||||
}
|
||||
if (state < 0)
|
||||
return _SPECIAL_GLYPH_INVALID;
|
||||
|
||||
assert(state < _UNIT_ACTIVE_STATE_MAX);
|
||||
return map[state];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user