public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Cole <elenstev@mesatop.com>
To: Larry McVoy <lm@bitmover.com>
Cc: Willy Tarreau <willy@w.ods.org>, linux-kernel@vger.kernel.org
Subject: Re: Question about style when converting from K&R to ANSI C.
Date: 01 Jun 2003 09:50:40 -0600	[thread overview]
Message-ID: <1054482640.19552.69.camel@spc> (raw)
In-Reply-To: <20030601150951.GC3641@work.bitmover.com>

On Sun, 2003-06-01 at 09:09, Larry McVoy wrote:
> > /*ARGSUSED*/
> > -static unsigned long
> > -insert_bba (insn, value, errmsg)
> > -     unsigned long insn;
> > -     long value;
> > -     const char **errmsg;
> > +static unsigned long insert_bba(
> > +       unsigned long insn,
> > +       long value,
> > +       const char **errmsg
> > +)
> > {
> >    return insn | (((insn >> 16) & 0x1f) << 11);
> > }
> 
> Of the following, the original is clearly outdated so we can all agree that
> can go.  I'm not real found of Linus' style either.  What's wrong with the
> two traditional forms?
> 
> /* ============== original ============== */
> static unsigned long
> insert_bba (insn, value, errmsg)
> 	unsigned long insn;
> 	long value;
> 	const char **errmsg;
> {
> 	return insn | (((insn >> 16) & 0x1f) << 11);
> }
> 
> /* ============== linus ============== */
> static unsigned long insert_bba(
> 	unsigned long insn;
> 	long value;
> 	const char **errmsg;
> )
> {
> 	return insn | (((insn >> 16) & 0x1f) << 11);
> }
> 
> /* ============== traditional ============== */
> static unsigned long
> insert_bba(unsigned long insn; long value; const char **errmsg)
> {
> 	return insn | (((insn >> 16) & 0x1f) << 11);
> }
> 
> /* ============== traditional (lotso args) ============== */
> static unsigned long
> insert_bba(
> 	register unsigned const int some_big_fat_variable_name;
> 	unsigned long insn;
> 	long value;
> 	const char **errmsg)
> {
> 	return insn | (((insn >> 16) & 0x1f) << 11);
> }

Umm, I think those ";" should be "," otherwise you get a
parameter `insn' has just a forward declaration or some such error.

I have used more traditional style where the new Linus style was not
warranted.  Here is the patch for fs/jfs/jfs_xtree.c:

--- bk-current/fs/jfs/jfs_xtree.c	2003-05-31 20:30:47.000000000 -0600
+++ linux/fs/jfs/jfs_xtree.c	2003-05-31 21:02:14.000000000 -0600
@@ -4225,8 +4225,7 @@
  *      at the current entry at the current subtree root page
  *
  */
-int xtGather(t)
-btree_t *t;
+int xtGather(btree_t *t)
 {
 	int rc = 0;
 	xtpage_t *p;

I haven't yet sent that to the maintainer (worked until late last night
and still getting -ENOTENOUGHCOFFEE from brain).  

Anyway, I agree that more traditional styles should be used unless
otherwise indicated, but having the return type on the same line as the
function name is something I've warmed up to.  And I can remember
14-character filenames and being able to print out the entire kernel in
less than 20 minutes on the line printer.  That was 8 or 9 years before
linux 0.01.  Yes, I'm an old-fogey.

Steven


  reply	other threads:[~2003-06-01 15:37 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-01  5:56 Question about style when converting from K&R to ANSI C Steven Cole
2003-06-01  6:39 ` Arnaldo Carvalho de Melo
2003-06-01  6:43   ` Zwane Mwaikambo
2003-06-01 13:14     ` Alan Cox
2003-06-01 19:10       ` Zwane Mwaikambo
2003-06-01 13:26 ` Larry McVoy
2003-06-01 13:49   ` Willy Tarreau
2003-06-01 14:06     ` Larry McVoy
2003-06-01 14:22       ` Willy Tarreau
2003-06-01 15:02       ` Steven Cole
2003-06-01 15:09         ` Larry McVoy
2003-06-01 15:50           ` Steven Cole [this message]
2003-06-01 16:02             ` Larry McVoy
2003-06-01 16:18               ` Steven Cole
2003-06-01 23:01         ` Paul Mackerras
2003-06-01 23:30           ` Steven Cole
2003-06-03  3:29         ` Robert White
2003-06-01 16:04       ` Jonathan Lundell
2003-06-01 16:11         ` Larry McVoy
2003-06-01 16:46           ` Steven Cole
2003-06-01 16:52             ` Larry McVoy
2003-06-01 17:18               ` Steven Cole
2003-06-02 12:39       ` Jesse Pollard
2003-06-03  3:15       ` Robert White
2003-06-01 13:53   ` Scott Robert Ladd
2003-06-02  2:09   ` Linus Torvalds
2003-06-02  2:21     ` Larry McVoy
2003-06-02  2:26       ` Davide Libenzi
2003-06-02  3:15     ` Steven Cole
2003-06-02 15:54     ` Erik Hensema
2003-06-03 12:32     ` Martin Waitz
2003-06-03 12:45       ` Dave Jones
2003-06-03 12:51         ` Jörn Engel
2003-06-03 13:18         ` Henning P. Schmiedehausen
2003-06-03 13:27           ` Richard B. Johnson
2003-06-03 13:39           ` William Lee Irwin III
2003-06-03 14:44             ` Henning Schmiedehausen
2003-06-03 15:16               ` William Lee Irwin III
2003-06-03 15:25               ` Randy.Dunlap
2003-06-03 15:38                 ` William Lee Irwin III
2003-06-03 15:40                   ` Randy.Dunlap
     [not found] <20030601060013$0d74@gated-at.bofh.it>
     [not found] ` <20030601134006$4765@gated-at.bofh.it>
     [not found]   ` <20030602022006$78ca@gated-at.bofh.it>
     [not found]     ` <20030602160025$70e8@gated-at.bofh.it>
2003-06-02 16:09       ` Pascal Schmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1054482640.19552.69.camel@spc \
    --to=elenstev@mesatop.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm@bitmover.com \
    --cc=willy@w.ods.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox