From: Paul Eggert Date: Wed, 5 Nov 2003 01:33:35 +0000 (+0000) Subject: Make xhdr_tab extern, not static. X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=commitdiff_plain;h=4414f1a82c8c7c29e9ea9e0924d01d9086a1aa23 Make xhdr_tab extern, not static. --- diff --git a/ChangeLog b/ChangeLog index cfc8890..0f8a6d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ -2003-11-03 Paul Eggert +2003-11-04 Paul Eggert - * src/xheader.c (xhdr_tab): Include bounds in forward declaration, - as C89 and C99 require this. + * src/xheader.c (xhdr_tab): Make it extern, not static, as C89 and + C99 require this. 2003-10-26 Paul Eggert diff --git a/src/xheader.c b/src/xheader.c index aa94c4b..1441eec 100644 --- a/src/xheader.c +++ b/src/xheader.c @@ -36,10 +36,13 @@ struct xhdr_tab void (*decoder) (struct tar_stat_info *, char const *); }; -/* This declaration must specify the number of elements in xhdr_tab, - because ISO C99 section 6.9.2 prohibits a tentative definition that - has both internal linkage and incomplete type. */ -static struct xhdr_tab const xhdr_tab[13]; +/* This declaration must be extern, because ISO C99 section 6.9.2 + prohibits a tentative definition that has both internal linkage and + incomplete type. If we made it static, we'd have to declare its + size which would be a maintenance pain; if we put its initializer + here, we'd need a boatload of forward declarations, which would be + even more of a pain. */ +extern struct xhdr_tab const xhdr_tab[]; static struct xhdr_tab const * locate_handler (char const *keyword) @@ -409,7 +412,7 @@ uname_decoder (struct tar_stat_info *st, char const *arg) assign_string (&st->uname, arg); } -static struct xhdr_tab const xhdr_tab[] = { +struct xhdr_tab const xhdr_tab[] = { { "atime", atime_coder, atime_decoder }, { "comment", dummy_coder, dummy_decoder }, { "charset", dummy_coder, dummy_decoder },