All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Florian Weimer <fweimer@redhat.com>,
	"Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>,
	Siddhesh Poyarekar <siddhesh@redhat.com>
Cc: Rich Felker <dalias@aerifal.cx>,
	Carlos O'Donell <carlos@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@gmail.com>,
	libc-alpha <libc-alpha@sourceware.org>,
	Roland McGrath <roland@hack.frob.com>,
	linux-man <linux-man@vger.kernel.org>
Subject: Re: [PATCH] Fix readdir_r with long file names
Date: Tue, 1 Mar 2016 13:20:59 -0800	[thread overview]
Message-ID: <56D607BB.6080701@cs.ucla.edu> (raw)
In-Reply-To: <56D5FB3D.5000306@redhat.com>

On 03/01/2016 12:27 PM, Florian Weimer wrote:
> We
> should implement compiler support for this wart: inhibit optimizations
> (I think there are already special cases for length-0 and length-1
> arrays at the end, so it's not totally without precedent), and warn
> about sizeof (struct dirent) and using it as a (non-pointer) declarator.

Why not use a flexible array member for this? Sure, that assumes C99, 
but flexible array members are pretty much universally supported now 
(and we can fall back on the current layout for pre-C99 compilers). This 
would work better with modern compilers that treat small arrays with 
more respect than traditional C compilers did. And as I understand 
things, it would conform to POSIX (and if I'm wrong, POSIX should get 
fixed....).

For what it's worth, portable code cannot copy struct dirent values 
anyway, as this loses file names in operating systems like Solaris where 
d_name has size 1.

  parent reply	other threads:[~2016-03-01 21:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <51B0B39F.4060202@redhat.com>
     [not found] ` <51B0BD36.3030202@redhat.com>
     [not found]   ` <CAHGf_=r9Rz63pho+84ORk0a_oDyJSj-MCnZ56uPrT3L6sVEfeQ@mail.gmail.com>
     [not found]     ` <20130607013024.GO29800@brightrain.aerifal.cx>
     [not found]       ` <51B19203.3070307@redhat.com>
     [not found]         ` <20130607144143.GQ29800@brightrain.aerifal.cx>
     [not found]           ` <51B57E35.4080403@redhat.com>
     [not found]             ` <51B65EA7.2020402@redhat.com>
     [not found]               ` <20130611011324.GT29800@brightrain.aerifal.cx>
     [not found]                 ` <51B8702D.2060505@redhat.com>
     [not found]                   ` <20130813040038.GE21795@spoyarek.pnq.redhat.com>
     [not found]                     ` <520C88A6.9070501@redhat.com>
     [not found]                       ` <520C88A6.9070501-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-01  8:07                         ` [PATCH] Fix readdir_r with long file names Michael Kerrisk (man-pages)
2016-03-01 16:59                           ` Florian Weimer
     [not found]                             ` <56D5CA79.9030204-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-01 20:14                               ` Michael Kerrisk (man-pages)
     [not found]                                 ` <56D5F832.3070209-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 20:27                                   ` Florian Weimer
     [not found]                                     ` <56D5FB3D.5000306-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-01 21:01                                       ` Michael Kerrisk (man-pages)
     [not found]                                         ` <56D60335.7010906-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-01 22:21                                           ` Florian Weimer
     [not found]                                             ` <56D615D7.5020304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-01 22:27                                               ` Rich Felker
2016-03-02  8:17                                               ` Michael Kerrisk (man-pages)
2016-03-01 21:20                                     ` Paul Eggert [this message]
     [not found]                                       ` <56D607BB.6080701-764C0pRuGfqVc3sceRu5cw@public.gmane.org>
2016-03-01 22:16                                         ` Florian Weimer
2016-03-01 22:41                                           ` Paul Eggert
     [not found]                                             ` <56D61A86.3050108-764C0pRuGfqVc3sceRu5cw@public.gmane.org>
2016-03-01 23:07                                               ` Florian Weimer
     [not found]                                                 ` <56D620AA.40108-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-01 23:25                                                   ` Paul Eggert
     [not found]                                                     ` <56D624FE.1090702-764C0pRuGfqVc3sceRu5cw@public.gmane.org>
2016-03-01 23:44                                                       ` Florian Weimer
     [not found]                                                         ` <56D6294A.5040703-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-02 10:39                                                           ` Michael Kerrisk (man-pages)
     [not found]                                                             ` <56D6C2CA.2020609-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-03-08 17:20                                                               ` Michael Kerrisk (man-pages)
2016-03-10 11:22                                                             ` Florian Weimer
     [not found]                                                               ` <56E158F4.6040506-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-03-10 17:06                                                                 ` Michael Kerrisk (man-pages)
2016-03-02 17:44                                                         ` Paul Eggert
     [not found]                                                           ` <56D72683.6010302-764C0pRuGfqVc3sceRu5cw@public.gmane.org>
2016-03-03 22:39                                                             ` Joseph Myers
2016-03-08 12:20                                                             ` Florian Weimer

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=56D607BB.6080701@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=carlos@redhat.com \
    --cc=dalias@aerifal.cx \
    --cc=fweimer@redhat.com \
    --cc=kosaki.motohiro@gmail.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=roland@hack.frob.com \
    --cc=siddhesh@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.