summaryrefslogtreecommitdiff
path: root/binutils/unwind-ia64.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-05-27 08:40:35 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-05-27 08:40:35 +0000
commitd746170adc135947b7f24b5cc08efe4094d95ec4 (patch)
tree76b2a72a6e4d312cd0908858627e2b9f7e84d3a8 /binutils/unwind-ia64.c
parentb7fc4e8502eba6de45e3e31cc1096a00297d4695 (diff)
downloadbinutils-redhat-d746170adc135947b7f24b5cc08efe4094d95ec4.tar.gz
* unwind-ia64.c (unw_print_brmask): Don't use sprintf.
(unw_print_grmask): Likewise. (unw_print_frmask): Likewise.
Diffstat (limited to 'binutils/unwind-ia64.c')
-rw-r--r--binutils/unwind-ia64.c37
1 files changed, 26 insertions, 11 deletions
diff --git a/binutils/unwind-ia64.c b/binutils/unwind-ia64.c
index 5dcd2a7861..803a5fa541 100644
--- a/binutils/unwind-ia64.c
+++ b/binutils/unwind-ia64.c
@@ -44,15 +44,18 @@ unw_print_brmask (cp, mask)
char * cp;
unsigned int mask;
{
- char *sep = "";
+ int sep = 0;
int i;
for (i = 0; mask && (i < 5); ++i)
{
if (mask & 1)
{
- cp += sprintf (cp, "%sb%u", sep, i + 1);
- sep = ",";
+ if (sep)
+ *cp++ = ',';
+ *cp++ = 'b';
+ *cp++ = i + 1 + '0';
+ sep = 1;
}
mask >>= 1;
}
@@ -64,19 +67,22 @@ unw_print_grmask (cp, mask)
char * cp;
unsigned int mask;
{
- char *sep = "";
+ int sep = 0;
int i;
- *cp = '\0';
for (i = 0; i < 4; ++i)
{
if (mask & 1)
{
- cp += sprintf (cp, "%sr%u", sep, i + 4);
- sep = ",";
+ if (sep)
+ *cp++ = ',';
+ *cp++ = 'r';
+ *cp++ = i + 4 + '0';
+ sep = 1;
}
mask >>= 1;
}
+ *cp = '\0';
}
static void
@@ -84,19 +90,28 @@ unw_print_frmask (cp, mask)
char * cp;
unsigned int mask;
{
- char *sep = "";
+ int sep = 0;
int i;
- *cp = '\0';
for (i = 0; i < 20; ++i)
{
if (mask & 1)
{
- cp += sprintf (cp, "%sf%u", sep, (i < 4) ? (i + 2) : (i + 12));
- sep = ",";
+ if (sep)
+ *cp++ = ',';
+ *cp++ = 'f';
+ if (i < 4)
+ *cp++ = i + 2 + '0';
+ else
+ {
+ *cp++ = (i + 2) / 10 + 1 + '0';
+ *cp++ = (i + 2) % 10 + '0';
+ }
+ sep = 1;
}
mask >>= 1;
}
+ *cp = '\0';
}
static void