1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-04 21:47:31 +03:00

shutdownd: shut up bogus gcc warning

This one is fake. But let's kill it, avoiding two condition checks
in the process.

src/shutdownd/shutdownd.c: In function 'when_wall':
src/shutdownd/shutdownd.c:182:44: warning: 'sub' may be used uninitialized in this function [-Wmaybe-uninitialized]
         return elapse > sub ? elapse - sub : 1;
                                            ^
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-03-21 19:20:41 -04:00
parent 40c2cce772
commit 7a4b2eab6d

View File

@ -157,29 +157,26 @@ static usec_t when_wall(usec_t n, usec_t elapse) {
usec_t delay;
usec_t interval;
} table[] = {
{ 10 * USEC_PER_MINUTE, USEC_PER_MINUTE },
{ USEC_PER_HOUR, 15 * USEC_PER_MINUTE },
{ 3 * USEC_PER_HOUR, 30 * USEC_PER_MINUTE }
{ 0, USEC_PER_MINUTE },
{ 10 * USEC_PER_MINUTE, 15 * USEC_PER_MINUTE },
{ USEC_PER_HOUR, 30 * USEC_PER_MINUTE },
{ 3 * USEC_PER_HOUR, USEC_PER_HOUR },
};
usec_t left, sub;
unsigned i;
unsigned i = ELEMENTSOF(table) - 1;
/* If the time is already passed, then don't announce */
if (n >= elapse)
return 0;
left = elapse - n;
for (i = 0; i < ELEMENTSOF(table); i++)
if (n + table[i].delay >= elapse) {
sub = ((left / table[i].interval) * table[i].interval);
break;
}
while (left < table[i].delay)
i--;
sub = (left / table[i].interval) * table[i].interval;
if (i >= ELEMENTSOF(table))
sub = ((left / USEC_PER_HOUR) * USEC_PER_HOUR);
return elapse > sub ? elapse - sub : 1;
assert(sub < elapse);
return elapse - sub;
}
static usec_t when_nologin(usec_t elapse) {