chardev: Use goto/label instead of do/break/while(0)
Use of a do/while(0) control flow in order to permit an early break is an unusual paradigm, and triggers a false positive with a planned future syntax check against 'while (0);'. Rewrite the code to use a goto instead. This patch temporarily keeps an extra level of indentation to highlight the change; the next patch cleans it up. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20171201232433.25193-4-eblake@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
94f5c480e9
commit
19a4d43ef0
@ -64,9 +64,14 @@ static void tty_serial_init(int fd, int speed,
|
|||||||
#endif
|
#endif
|
||||||
tcgetattr(fd, &tty);
|
tcgetattr(fd, &tty);
|
||||||
|
|
||||||
#define check_speed(val) if (speed <= val) { spd = B##val; break; }
|
#define check_speed(val) \
|
||||||
|
if (speed <= val) { \
|
||||||
|
spd = B##val; \
|
||||||
|
goto done; \
|
||||||
|
}
|
||||||
|
|
||||||
speed = speed * 10 / 11;
|
speed = speed * 10 / 11;
|
||||||
do {
|
{
|
||||||
check_speed(50);
|
check_speed(50);
|
||||||
check_speed(75);
|
check_speed(75);
|
||||||
check_speed(110);
|
check_speed(110);
|
||||||
@ -125,8 +130,10 @@ static void tty_serial_init(int fd, int speed,
|
|||||||
check_speed(4000000);
|
check_speed(4000000);
|
||||||
#endif
|
#endif
|
||||||
spd = B115200;
|
spd = B115200;
|
||||||
} while (0);
|
}
|
||||||
|
|
||||||
|
#undef check_speed
|
||||||
|
done:
|
||||||
cfsetispeed(&tty, spd);
|
cfsetispeed(&tty, spd);
|
||||||
cfsetospeed(&tty, spd);
|
cfsetospeed(&tty, spd);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user