simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Sun Feb 16 11:30:34 GMT 2020
TL;DR:
8d186c3c Formatting change to braces around one case of a switch.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2020-02-16 11:30:34
commit 8d186c3c93e4bfc96012a6433253834654dc9b9a
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=8d186c3c93e4bfc96012a6433253834654dc9b9a;hp=2571eabeefd9b486551fb60e1a0f34d5aee046cb
Author: Simon Tatham <anakin at pobox.com>
Date: Sun Feb 16 07:49:52 2020 +0000
Formatting change to braces around one case of a switch.
Sometimes, within a switch statement, you want to declare local
variables specific to the handler for one particular case. Until now
I've mostly been writing this in the form
switch (discriminant) {
case SIMPLE:
do stuff;
break;
case COMPLICATED:
{
declare variables;
do stuff;
}
break;
}
which is ugly because the two pieces of essentially similar code
appear at different indent levels, and also inconvenient because you
have less horizontal space available to write the complicated case
handler in - particuarly undesirable because _complicated_ case
handlers are the ones most likely to need all the space they can get!
After encountering a rather nicer idiom in the LLVM source code, and
after a bit of hackery this morning figuring out how to persuade
Emacs's auto-indent to do what I wanted with it, I've decided to move
to an idiom in which the open brace comes right after the case
statement, and the code within it is indented the same as it would
have been without the brace. Then the whole case handler (including
the break) lives inside those braces, and you get something that looks
more like this:
switch (discriminant) {
case SIMPLE:
do stuff;
break;
case COMPLICATED: {
declare variables;
do stuff;
break;
}
}
This commit is a big-bang change that reformats all the complicated
case handlers I could find into the new layout. This is particularly
nice in the Pageant main function, in which almost _every_ case
handler had a bundle of variables and was long and complicated. (In
fact that's what motivated me to get round to this.) Some of the
innermost parts of the terminal escape-sequence handling are also
breathing a bit easier now the horizontal pressure on them is
relieved.
(Also, in a few cases, I was able to remove the extra braces
completely, because the only variable local to the case handler was a
loop variable which our new C99 policy allows me to move into the
initialiser clause of its for statement.)
Viewed with whitespace ignored, this is not too disruptive a change.
Downstream patches that conflict with it may need to be reapplied
using --ignore-whitespace or similar.
be_misc.c | 27 +-
cmdgen.c | 274 +++++++------
import.c | 19 +-
minibidi.c | 21 +-
pageant.c | 1039 +++++++++++++++++++++++------------------------
proxy.c | 99 +++--
settings.c | 11 +-
ssh1connection-client.c | 13 +-
ssh1connection-server.c | 61 ++-
ssh2connection.c | 11 +-
terminal.c | 863 +++++++++++++++++++--------------------
test/sclog/sclog.c | 35 +-
unix/gtkdlg.c | 418 ++++++++++---------
unix/gtkwin.c | 13 +-
windows/sizetip.c | 76 ++--
windows/winctrls.c | 100 +++--
windows/windlg.c | 55 ++-
windows/window.c | 906 ++++++++++++++++++++---------------------
windows/winnet.c | 73 ++--
windows/winpgen.c | 160 ++++----
windows/winpgnt.c | 211 +++++-----
21 files changed, 2200 insertions(+), 2285 deletions(-)
More information about the tartarus-commits
mailing list