fix handling of d_name in struct dirent
authorRich Felker <dalias@aerifal.cx>
Mon, 6 Jun 2011 22:04:28 +0000 (18:04 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 6 Jun 2011 22:04:28 +0000 (18:04 -0400)
commitda88b16a221c9d327e1bfa61dd6f4f08dacce57a
tree64d07cc9ac0fc99dc6026d188f01943e81c055a4
parent0dc99ac413d8bc054a2e95578475c7122455eee8
fix handling of d_name in struct dirent

basically there are 3 choices for how to implement this variable-size
string member:
1. C99 flexible array member: breaks using dirent.h with pre-C99 compiler.
2. old way: length-1 string: generates array bounds warnings in caller.
3. new way: length-NAME_MAX string. no problems, simplifies all code.

of course the usable part in the pointer returned by readdir might be
shorter than NAME_MAX+1 bytes, but that is allowed by the standard and
doesn't hurt anything.
include/dirent.h
src/dirent/scandir.c
src/regex/glob.c