cast pid_t's to uintmax_t to improve portability
Some systems (like e.g. OpenSolaris) define pid_t as long, therefore all our sprintf that use %i/%d cause a compiler warning beacuse of the implicit long->int cast. To make sure that we fit the limits, we display pids as PRIuMAX and cast them explicitly to uintmax_t. Signed-off-by: David Soria Parra <dsp@php.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
7f314565fe
commit
85e7283069
6
daemon.c
6
daemon.c
@ -86,7 +86,7 @@ static void logreport(int priority, const char *err, va_list params)
|
||||
* Since stderr is set to linebuffered mode, the
|
||||
* logging of different processes will not overlap
|
||||
*/
|
||||
fprintf(stderr, "[%d] ", (int)getpid());
|
||||
fprintf(stderr, "[%"PRIuMAX"] ", (uintmax_t)getpid());
|
||||
vfprintf(stderr, err, params);
|
||||
fputc('\n', stderr);
|
||||
}
|
||||
@ -658,7 +658,7 @@ static void check_dead_children(void)
|
||||
remove_child(pid);
|
||||
if (!WIFEXITED(status) || (WEXITSTATUS(status) > 0))
|
||||
dead = " (with error)";
|
||||
loginfo("[%d] Disconnected%s", (int)pid, dead);
|
||||
loginfo("[%"PRIuMAX"] Disconnected%s", (uintmax_t)pid, dead);
|
||||
}
|
||||
}
|
||||
|
||||
@ -923,7 +923,7 @@ static void store_pid(const char *path)
|
||||
FILE *f = fopen(path, "w");
|
||||
if (!f)
|
||||
die("cannot open pid file %s: %s", path, strerror(errno));
|
||||
if (fprintf(f, "%d\n", getpid()) < 0 || fclose(f) != 0)
|
||||
if (fprintf(f, "%"PRIuMAX"\n", (uintmax_t) getpid()) < 0 || fclose(f) != 0)
|
||||
die("failed to write pid file %s: %s", path, strerror(errno));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user