From owner-cvs-src@FreeBSD.ORG Thu May 8 12:36:45 2008 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 694C7106564A; Thu, 8 May 2008 12:36:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 4ECD78FC0C; Thu, 8 May 2008 12:36:45 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (unknown [208.65.91.234]) by elvis.mu.org (Postfix) with ESMTP id 88E841A4D8E; Thu, 8 May 2008 05:36:44 -0700 (PDT) From: John Baldwin To: Peter Jeremy Date: Thu, 8 May 2008 08:16:17 -0400 User-Agent: KMail/1.9.7 References: <200805051603.m45G3rrN089219@repoman.freebsd.org> <48222782.7000303@FreeBSD.org> <20080508074041.GM7293@server.vk2pj.dyndns.org> In-Reply-To: <20080508074041.GM7293@server.vk2pj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200805080816.18083.jhb@freebsd.org> Cc: Maxim Sobolev , src-committers@freebsd.org, cvs-all@freebsd.org, cvs-src@freebsd.org Subject: Re: cvs commit: src/include stdio.h src/lib/libc/stdio clrerr.c feof.c ferror.c fileno.c getc.c getchar.c local.h putc.c putchar.c xprintf.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 May 2008 12:36:45 -0000 On Thursday 08 May 2008 03:40:41 am Peter Jeremy wrote: > On Wed, May 07, 2008 at 03:04:50PM -0700, Maxim Sobolev wrote: > >Can you please explain the "needed" part? > > - The file struct is in two pieces: struct __sFILE and struct __sFILEX > This is at best a wart. This is already fixed. > - stdio currently only supports file descriptors <=32767. This will soon be fixed. > > What are gains apart from pure aesthetics > > "data-hiding" is a standard technique. Making FILE opaque means that > future changes can be made without impacting altering the ABI. This was the real reason. Fixing the file descriptor bit will involve some ABI hacks because of the inlining, etc. in the current implementation. Removing the inlining and transparency of FILE would avoid the need for similar hacks in the future. -- John Baldwin