summaryrefslogtreecommitdiff
path: root/lib/ZMakeAscii.c
diff options
context:
space:
mode:
authorGravatar Robert S. French <rfrench@mit.edu>1988-06-15 12:55:05 +0000
committerGravatar Robert S. French <rfrench@mit.edu>1988-06-15 12:55:05 +0000
commitddd9009109578d25cced7c894590dea07e3005a0 (patch)
tree759bb7fb3ed36c52040ae37d4d8e46561c76d247 /lib/ZMakeAscii.c
parent8954e484c2f8654993f8570558dab76218861ecd (diff)
For John
Diffstat (limited to 'lib/ZMakeAscii.c')
-rw-r--r--lib/ZMakeAscii.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/lib/ZMakeAscii.c b/lib/ZMakeAscii.c
index a5fcb68..58d6185 100644
--- a/lib/ZMakeAscii.c
+++ b/lib/ZMakeAscii.c
@@ -32,16 +32,31 @@ Code_t ZMakeAscii(ptr, len, field, num)
if (!(i%4)) {
if (len < 3+(i!=0))
return (ZERR_FIELDLEN);
- (void) sprintf(ptr, "%s0x", i?" ":"");
- ptr += 2+(i!=0);
- len -= 2+(i!=0);
+ if (i) {
+ *ptr++ = ' ';
+ len--;
+ }
+ *ptr++ = '0';
+ *ptr++ = 'x';
+ len -= 2;
}
if (len < 3)
return (ZERR_FIELDLEN);
- (void) sprintf(ptr, "%02x", field[i]);
- ptr += 2;
+ *ptr++ = cnvt_itox(field[i] >> 4);
+ *ptr++ = cnvt_itox(field[i] & 15);
len -= 2;
}
+ *ptr = '\0';
return (ZERR_NONE);
}
+
+cnvt_itox(i)
+ int i;
+{
+ i += '0';
+ if (i <= '9')
+ return (i);
+ i += 'A'-'9'-1;
+ return (i);
+}