aboutsummaryrefslogtreecommitdiff
path: root/elf/dl-misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-misc.c')
-rw-r--r--elf/dl-misc.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/elf/dl-misc.c b/elf/dl-misc.c
index d3b0f34..937aeac 100644
--- a/elf/dl-misc.c
+++ b/elf/dl-misc.c
@@ -110,7 +110,7 @@ _dl_debug_message (int new_line, const char *msg, ...)
va_list ap;
if (pid == 0)
- pid = getpid ();
+ pid = __getpid ();
va_start (ap, msg);
do
@@ -125,17 +125,22 @@ _dl_debug_message (int new_line, const char *msg, ...)
PID now if needed. */
if (new_line)
{
- char buf[7] = "00000:\t";
+ char buf[7];
+ char *p;
assert (pid >= 0 && pid < 100000);
- _itoa_word (pid, &buf[5], 10, 0);
+ p = _itoa_word (pid, &buf[5], 10, 0);
+ while (p > buf)
+ *--p = '0';
+ buf[5] = ':';
+ buf[6] = '\t';
__libc_write (_dl_debug_fd, buf, 7);
new_line = 0;
}
- endp = strchr (msg, '\n');
- if (endp == NULL)
+ endp = msg + strcspn (msg, "\n");
+ if (*endp == '\0')
{
- __libc_write (_dl_debug_fd, msg, strlen (msg));
+ __libc_write (_dl_debug_fd, msg, endp - msg);
msg = va_arg (ap, const char *);
}
else