xref: /NextBSD/contrib/opie/libopie/btoa8.c (revision eb1a5f8de9f7ea602c373a710f531abbf81141c4)
1 /* btoa8.c: The opiebtoa8() library function.
2 
3 %%% copyright-cmetz-96
4 This software is Copyright 1996-2001 by Craig Metz, All Rights Reserved.
5 The Inner Net License Version 3 applies to this software.
6 You should have received a copy of the license with this software. If
7 you didn't get a copy, you may request one from <license@inner.net>.
8 
9         History:
10 
11 	Modified by cmetz for OPIE 2.4. Use struct opie_otpkey for binary arg.
12 	Created by cmetz for OPIE 2.3 (quick re-write).
13 */
14 
15 #include "opie_cfg.h"
16 #include "opie.h"
17 
18 static char hextochar[16] =
19 {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
20 
21 char *opiebtoa8 FUNCTION((out, in), char *out AND struct opie_otpkey *inkey)
22 {
23   int i;
24   unsigned char *in = (unsigned char *)inkey;
25   char *c = out;
26 
27   for (i = 0; i < 8; i++) {
28     *(c++) = hextochar[((*in) >> 4) & 0x0f];
29     *(c++) = hextochar[(*in++) & 0x0f];
30   }
31   *c = 0;
32 
33   return out;
34 }
35