aboutsummaryrefslogtreecommitdiff
path: root/diff.c
diff options
context:
space:
mode:
authorJason Riedy <ejr@cs.berkeley.edu>2005-08-23 13:34:07 -0700
committerJason Riedy <ejr@cs.berkeley.edu>2005-08-23 20:41:12 -0700
commitc7c81b3a51de2778535c8bb18d42a4bb7dfd57bc (patch)
tree78e210d8703959d13f476205e48d5e9125166296 /diff.c
parent6c5f9baa3bc0d63e141e0afc23110205379905a4 (diff)
downloadgit-c7c81b3a51de2778535c8bb18d42a4bb7dfd57bc.tar.gz
git-c7c81b3a51de2778535c8bb18d42a4bb7dfd57bc.tar.xz
Fix ?: statements.
Omitting the first branch in ?: is a GNU extension. Cute, but not supported by other compilers. Replaced mostly by explicit tests. Calls to getenv() simply are repeated on non-GNU compilers. Signed-off-by: Jason Riedy <ejr@cs.berkeley.edu>
Diffstat (limited to 'diff.c')
-rw-r--r--diff.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/diff.c b/diff.c
index 137d0d0c0..9015c81d7 100644
--- a/diff.c
+++ b/diff.c
@@ -19,6 +19,7 @@ static const char *external_diff(void)
{
static const char *external_diff_cmd = NULL;
static int done_preparing = 0;
+ const char *env_diff_opts;
if (done_preparing)
return external_diff_cmd;
@@ -31,11 +32,11 @@ static const char *external_diff(void)
*
* GIT_DIFF_OPTS="-c";
*/
- if (gitenv("GIT_EXTERNAL_DIFF"))
- external_diff_cmd = gitenv("GIT_EXTERNAL_DIFF");
+ external_diff_cmd = gitenv("GIT_EXTERNAL_DIFF");
/* In case external diff fails... */
- diff_opts = gitenv("GIT_DIFF_OPTS") ? : diff_opts;
+ env_diff_opts = gitenv("GIT_DIFF_OPTS");
+ if (env_diff_opts) diff_opts = env_diff_opts;
done_preparing = 1;
return external_diff_cmd;
@@ -530,10 +531,12 @@ static void run_external_diff(const char *pgm,
pid_t pid;
int status;
static int atexit_asked = 0;
+ const char *othername;
+ othername = (other? other : name);
if (one && two) {
prepare_temp_file(name, &temp[0], one);
- prepare_temp_file(other ? : name, &temp[1], two);
+ prepare_temp_file(othername, &temp[1], two);
if (! atexit_asked &&
(temp[0].name == temp[0].tmp_path ||
temp[1].name == temp[1].tmp_path)) {
@@ -574,7 +577,7 @@ static void run_external_diff(const char *pgm,
* otherwise we use the built-in one.
*/
if (one && two)
- builtin_diff(name, other ? : name, temp, xfrm_msg,
+ builtin_diff(name, othername, temp, xfrm_msg,
complete_rewrite);
else
printf("* Unmerged path %s\n", name);
@@ -889,13 +892,13 @@ int diff_queue_is_empty(void)
void diff_debug_filespec(struct diff_filespec *s, int x, const char *one)
{
fprintf(stderr, "queue[%d] %s (%s) %s %06o %s\n",
- x, one ? : "",
+ x, one ? one : "",
s->path,
DIFF_FILE_VALID(s) ? "valid" : "invalid",
s->mode,
s->sha1_valid ? sha1_to_hex(s->sha1) : "");
fprintf(stderr, "queue[%d] %s size %lu flags %d\n",
- x, one ? : "",
+ x, one ? one : "",
s->size, s->xfrm_flags);
}
@@ -904,7 +907,7 @@ void diff_debug_filepair(const struct diff_filepair *p, int i)
diff_debug_filespec(p->one, i, "one");
diff_debug_filespec(p->two, i, "two");
fprintf(stderr, "score %d, status %c stays %d broken %d\n",
- p->score, p->status ? : '?',
+ p->score, p->status ? p->status : '?',
p->source_stays, p->broken_pair);
}