Add a rule for indenting labels

Indent top-level labels by one space.

Add the rule to HACKING and enforce it by syntax-check.
This commit is contained in:
Ján Tomko 2014-03-21 13:07:03 +01:00
parent 5d8793eebb
commit 9af14dadf6
3 changed files with 38 additions and 36 deletions

31
HACKING
View File

@ -232,22 +232,9 @@ but we do prefer that contributed code be formatted similarly. In short, use
spaces-not-TABs for indentation, use 4 spaces for each indentation level, and
other than that, follow the K&R style.
If you use Emacs, add the following to one of one of your start-up files
(e.g., ~/.emacs), to help ensure that you get indentation right:
;;; When editing C sources in libvirt, use this style.
(defun libvirt-c-mode ()
"C mode with adjusted defaults for use with libvirt."
(interactive)
(c-set-style "K&R")
(setq indent-tabs-mode nil) ; indent using spaces, not TABs
(setq c-indent-level 4)
(setq c-basic-offset 4))
(add-hook 'c-mode-hook
'(lambda () (if (string-match "/libvirt" (buffer-file-name))
(libvirt-c-mode))))
If you use vim, append the following to your ~/.vimrc file:
If you use Emacs, the project includes a file .dir-locals.el that sets up the
preferred indentation. If you use vim, append the following to your ~/.vimrc
file:
set nocompatible
filetype on
@ -257,7 +244,7 @@ If you use vim, append the following to your ~/.vimrc file:
set tabstop=8
set shiftwidth=4
set expandtab
set cinoptions=(0,:0,l1,t0
set cinoptions=(0,:0,l1,t0,L3
filetype plugin indent on
au FileType make setlocal noexpandtab
au BufRead,BufNewFile *.am setlocal noexpandtab
@ -928,6 +915,16 @@ When using goto, please use one of these standard labels if it makes sense:
no_memory: A path only taken upon return with an OOM error code
retry: If needing to jump upwards (e.g., retry on EINTR)
Top-level labels should be indented by one space (putting them on the
beginning of the line confuses function context detection in git):
int foo()
{
/* ... do stuff ... */
cleanup:
/* ... do other stuff ... */
}
Libvirt committer guidelines
============================

6
cfg.mk
View File

@ -898,6 +898,12 @@ sc_prohibit_virConnectOpen_in_virsh:
halt='Use vshConnect() in virsh instead of virConnectOpen*' \
$(_sc_search_regexp)
sc_require_space_before_label:
@prohibit='^( ?)?[_a-zA-Z0-9]+:$$' \
in_vc_files='\.[ch]$$' \
halt="Top-level labels should be indented by one space" \
$(_sc_search_regexp)
sc_curly_braces_style:
@files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); \
$(GREP) -nHP \

View File

@ -273,26 +273,11 @@
In short, use spaces-not-TABs for indentation, use 4 spaces for each
indentation level, and other than that, follow the K&R style.
</p>
<p>
If you use Emacs, add the following to one of one of your start-up files
(e.g., ~/.emacs), to help ensure that you get indentation right:
</p>
<pre>
;;; When editing C sources in libvirt, use this style.
(defun libvirt-c-mode ()
"C mode with adjusted defaults for use with libvirt."
(interactive)
(c-set-style "K&amp;R")
(setq indent-tabs-mode nil) ; indent using spaces, not TABs
(setq c-indent-level 4)
(setq c-basic-offset 4))
(add-hook 'c-mode-hook
'(lambda () (if (string-match "/libvirt" (buffer-file-name))
(libvirt-c-mode))))
</pre>
<p>
If you use vim, append the following to your ~/.vimrc file:
If you use Emacs, the project includes a file .dir-locals.el
that sets up the preferred indentation. If you use vim,
append the following to your ~/.vimrc file:
</p>
<pre>
set nocompatible
@ -303,7 +288,7 @@
set tabstop=8
set shiftwidth=4
set expandtab
set cinoptions=(0,:0,l1,t0
set cinoptions=(0,:0,l1,t0,L3
filetype plugin indent on
au FileType make setlocal noexpandtab
au BufRead,BufNewFile *.am setlocal noexpandtab
@ -1139,6 +1124,20 @@
retry: If needing to jump upwards (e.g., retry on EINTR)
</pre>
<p>
Top-level labels should be indented by one space (putting them on
the beginning of the line confuses function context detection in git):
</p>
<pre>
int foo()
{
/* ... do stuff ... */
cleanup:
/* ... do other stuff ... */
}
</pre>
<h2><a name="committers">Libvirt committer guidelines</a></h2>