[openssl-dev] OpenSSL source reformat

Matt Caswell matt at openssl.org
Mon Jan 5 12:09:31 UTC 2015

Hash: SHA1

We have previously announced our intention to reformat the entire
codebase into a more consistent style (see our roadmap document here:

Since then we have been busy working towards doing that. I'd like to
make available for comment a sample reformat. So far I've run it for
master and 1.0.2, but the current thinking is that this will also be
applied to 1.0.1, 1.0.0 and 0.9.8 (this is necessary to significantly
ease the maintenance overhead)

I've put the results of the reformat up on my github account here:

The reformat of master is on the "sample-master-reformat" branch, and
the 1.0.2 reformat is on "sample-1.0.2-reformat".

The style itself is heavily influenced by the Linux Kernel Coding style:

Although there are some significant differences - most notably that we
are using spaces not tabs for indents, and the indent depth is 4
characters not 8. We will be publishing our own style guide in due course.

I'm not looking to open any religious wars here - so I'm not looking
for comments on the style itself (e.g. debates about whether 2, 4 or 8
character indents are better (we've already had those!)) - but I'm
mainly seeking feedback on anywhere where the reformatting has failed.
We've already looked of course...but sometimes many sets of eyes are

I've also made available the script that was used to do the
reformatting. The script is called openssl-format-source and is in the
util directory of the branches mentioned above. This script depends on
GNU indent being available. It should be executed from the root of the
source tree as follows:

util/openssl-format-source -v -c .

There are also some one-off manual tweaks (both before and after
running the script) that need to be done which are present in the
sample reformat branches. These are related to multi-line comments
which have their own internal formatting - these aren't handled too
well. The manual steps should be a one-off exercise though. The hope
is that we will be able to re-run the script at regular intervals.



Version: GnuPG v1


More information about the openssl-dev mailing list