Git, C89, and older compilers
- From
- Joshua Juran <jjuran@gmail.com>
- Date
- Mar 31, 2009, 19:26 UTC
- Message-ID
- <9D199AAA-5EC6-4E7C-AC26-0CDA68341D00@gmail.com>
Hello,
I'm porting Git to Lamp (Lamp ain't Mac POSIX), a Unix-like environment which runs in classic Mac OS, much like Cygwin.
One of the complications I've run into is that Metrowerks C 2.4.1 (released in 2001) doesn't support some of the constructs git uses, such as initializing an aggregate's member with the address of a local variable, illustrated by the patch below:
diff --git a/builtin-commit.c b/builtin-commit.c index 46e649c..8b98547 100644 --- a/builtin-commit.c +++ b/builtin-commit.c @@ -605,7 +605,8 @@ static int prepare_to_commit(const char *index_file, const c if (use_editor) { char index[PATH_MAX]; - const char *env[2] = { index, NULL }; + const char *env[2] = { NULL, NULL }; + env[0] = index; snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", index_file); if (launch_editor(git_path(commit_editmsg), NULL, env)) { fprintf(stderr, Is git intended to compile on a C89 compiler? In any case, if I produce a complete set of patches, will they be applied? Josh