Rewrite dynamic structure initializations to runtime assignment

Unfortunately, there are still plenty of production systems with
vendor compilers that choke unless all compound declarations can be
determined statically at compile time, for example hpux10.20 (I can
provide a comprehensive list of our supported platforms that exhibit
this problem if necessary).

This patch simply breaks apart any compound declarations with dynamic
initialisation expressions, and moves the initialisation until after
the last declaration in the same block, in all the places necessary to
have the offending compilers accept the code.

Signed-off-by: Gary V. Vaughan <gary@thewrittenword.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Gary V. Vaughan
2010-05-14 09:31:33 +00:00
committed by Junio C Hamano
parent ebef827765
commit 66dbfd55e3
14 changed files with 67 additions and 45 deletions

View File

@ -249,7 +249,9 @@ static int filter_buffer(int in, int out, void *data)
struct child_process child_process;
struct filter_params *params = (struct filter_params *)data;
int write_err, status;
const char *argv[] = { params->cmd, NULL };
const char *argv[] = { NULL, NULL };
argv[0] = params->cmd;
memset(&child_process, 0, sizeof(child_process));
child_process.argv = argv;