> Floating point constants default to double precision and can be made
> single precision with a 'f' or 'F' suffix or long double precision
> with 'l' or 'L'.
>
> It turns out indent only knows about 'u'/'U' and 'l'/'L' suffixes and
> will add a space between floating point constants and the suffix if
> 'f' or 'F' is used which results in code that won't compile.
Your diff will allow for `fl' suffixes. What about doing
seensfx |= 1 | 2;
to make sure a forthcoming `l' suffix gets rejected?
> Index: lexi.c
> ===================================================================
> RCS file: /cvs/src/usr.bin/indent/lexi.c,v
> retrieving revision 1.17
> diff -u -p -r1.17 lexi.c
> --- lexi.c 11 Oct 2014 03:05:48 -0000 1.17
> +++ lexi.c 16 Jan 2015 13:07:26 -0000
> @@ -202,6 +202,12 @@ lexi(void)
> }
> break;
> }
> + if (!(seensfx & 1) &&
> + (*buf_ptr == 'F' || *buf_ptr == 'f')) {
> + CHECK_SIZE_TOKEN;
> + *e_token++ = *buf_ptr++;
> + seensfx |= 1;
> + }
> }
> else
> while (chartype[(int)*buf_ptr] == alphanum) { /* copy it over
> */
>