aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--elf/dl-misc.c14
2 files changed, 9 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 7062cdbb12..94cde7eda7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
2002-12-13 Ulrich Drepper <drepper@redhat.com>
+ * elf/dl-misc.c (_dl_debug_vdprintf): Don't depend on 5-digit PIDs.
+
* misc/syslog.c (log_cleanup): Don't use parameter in
__libc_lock_unlock call, use syslog_lock directly. Adjust callers to
pass NULL instead of a pointer to syslog_lock.
diff --git a/elf/dl-misc.c b/elf/dl-misc.c
index 979de9b7ac..2b461736e9 100644
--- a/elf/dl-misc.c
+++ b/elf/dl-misc.c
@@ -92,7 +92,7 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg)
struct iovec iov[niovmax];
int niov = 0;
pid_t pid = 0;
- char pidbuf[7];
+ char pidbuf[12];
while (*fmt != '\0')
{
@@ -106,17 +106,17 @@ _dl_debug_vdprintf (int fd, int tag_p, const char *fmt, va_list arg)
{
char *p;
pid = __getpid ();
- assert (pid >= 0 && pid < 100000);
- p = _itoa (pid, &pidbuf[5], 10, 0);
+ assert (pid >= 0 && sizeof (pid_t) <= 4);
+ p = _itoa (pid, &pidbuf[10], 10, 0);
while (p > pidbuf)
- *--p = '0';
- pidbuf[5] = ':';
- pidbuf[6] = '\t';
+ *--p = ' ';
+ pidbuf[10] = ':';
+ pidbuf[11] = '\t';
}
/* Append to the output. */
assert (niov < niovmax);
- iov[niov].iov_len = 7;
+ iov[niov].iov_len = 12;
iov[niov++].iov_base = pidbuf;
/* No more tags until we see the next newline. */