svn commit: r310433 - head/lib/libc/stdio

Conrad Meyer cem at freebsd.org
Thu Dec 22 23:02:32 UTC 2016


This was unjustified and inappropriate.

On Thu, Dec 22, 2016 at 2:30 PM, Ngie Cooper <ngie at freebsd.org> wrote:
> Author: ngie
> Date: Thu Dec 22 22:30:42 2016
> New Revision: 310433
> URL: https://svnweb.freebsd.org/changeset/base/310433
>
> Log:
>   Revert r310138
>
>   Adding %b support to vfprintf for parity with kernel space requires
>   more discussion/review.
>
>   In particular, many parties were concerned over introducing a
>   non-standard format qualifier to *printf(3) which didn't already
>   exist in other OSes, e.g. Linux, thus making code which used %b
>   harder to port to other operating systems.
>
>   Requested by: many
>
> Modified:
>   head/lib/libc/stdio/vfprintf.c
>
> Modified: head/lib/libc/stdio/vfprintf.c
> ==============================================================================
> --- head/lib/libc/stdio/vfprintf.c      Thu Dec 22 21:56:41 2016        (r310432)
> +++ head/lib/libc/stdio/vfprintf.c      Thu Dec 22 22:30:42 2016        (r310433)
> @@ -611,37 +611,6 @@ reswitch:  switch (ch) {
>                 case 'z':
>                         flags |= SIZET;
>                         goto rflag;
> -               case 'b':
> -                       {
> -                       const char *q;
> -                       int anybitset, bit;
> -
> -                       ulval = (u_int)GETARG(int);
> -                       cp = GETARG(char *);
> -
> -                       q = __ultoa(ulval, buf + BUF, *cp++, 0, xdigs_lower);
> -                       PRINT(q, buf + BUF - q);
> -
> -                       if (ulval == 0)
> -                               break;
> -
> -                       for (anybitset = 0; *cp;) {
> -                               bit = *cp++;
> -                               if (ulval & (1 << (bit - 1))) {
> -                                       PRINT(anybitset ? "," : "<", 1);
> -                                       q = cp;
> -                                       for (; (bit = *cp) > ' '; ++cp)
> -                                               continue;
> -                                       PRINT(q, cp - q);
> -                                       anybitset = 1;
> -                               } else
> -                                       for (; *cp > ' '; ++cp)
> -                                               continue;
> -                       }
> -                       if (anybitset)
> -                               PRINT(">", 1);
> -                       }
> -                       continue;
>                 case 'C':
>                         flags |= LONGINT;
>                         /*FALLTHROUGH*/
>


More information about the svn-src-all mailing list