Ian Carvalho wrote:
david ingamells wrote:
John E Hein wrote:
david ingamells wrote at 19:42 +0200 on Jul 23, 2008:
 > This works in 2.2.10:
 >  > $ indent -npro -ncs
 >  > unsigned char *cp = (unsigned char *)ptr;
 > int
 > foo ()
 > {
 >   return (int)n;
 > }
 >  > $ indent -npro -cs
 >  > unsigned char *cp = (unsigned char *) ptr;
 > int
 > foo ()
 > {
 >   return (int) n;
 > }
> > > I know of no update that fixed this in 2.2.10, so I am surprised that it > doesn't work in 2.2.9. > I have added this to the regression test now, so it will be checked in > the future.

Seems okay in my local test here on 2.2.9, too...


echo '(unsigned char *)ptr;' | gindent -npro -cs
(unsigned char *) ptr;

echo '(unsigned char *)ptr;' | gindent -npro -ncs
(unsigned char *)ptr;

However, --no-space-after-cast fails:


echo '(unsigned char *)ptr;' | gindent -npro --space-after-cast
(unsigned char *) ptr;

echo '(unsigned char *)ptr;' | gindent -npro --no-space-after-cast
indent: unknown option "no-space-after-cast"


A quick check in the code explains why:

{"no-space-after-casts",                        "ncs"},

And the manual says the same. I think what is best is that I update the manual to remove the trailing "s" and recognise both forms in the code. That way users will move over to the right one and existing users won't get a nasty surprise.

On seeing your responses, went through the code I am trying to indent. Looks like the example I have given is flawed.

When the cast happens with a typedef'd variable then it does not seem to work.

Using this:
--- start ---
typedef unsigned char   uchar;

unsigned char *cp = (unsigned char *)ptr;
uchar *ucp = (uchar *)ptr;
--- end --
as the source

$ indent -npro -ncs
I get
--- start ---
typedef unsigned char   uchar;

unsigned char *cp = (unsigned char *)ptr;
uchar *ucp = (uchar *) ptr;
--- end ---

and for

$ indent -npro -cs
I get
--- start ---
typedef unsigned char   uchar;

unsigned char *cp = (unsigned char *) ptr;
uchar *ucp = (uchar *) ptr;
--- end ---

Thus, the space is present in both cases if the cast is to a typedef'd type.

Is this the expected behavior?

Thanks



Yes that is expected. You need  -Tuchar


_______________________________________________
bug-indent mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-indent

Reply via email to