* Copyright (c) 1989 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that the above copyright notice and this paragraph are
* duplicated in all such forms and that any documentation,
* advertising materials, and other materials related to such
* distribution and use acknowledge that the software was developed
* by the University of California, Berkeley. The name of the
* University may not be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)iso_addr.c 5.1 (Berkeley) %G%";
#endif /* LIBC_SCCS and not lint */
static struct iso_addr out_addr
;
register char *cp
= out_addr
.isoa_genaddr
;
char *cplim
= cp
+ sizeof(out_addr
.isoa_genaddr
);
bzero((char *)&out_addr
, sizeof(out_addr
));
while (*addr
&& (cp
< cplim
)) {
if ((*addr
>= '0') && (*addr
<= '9')) {
} else if ((*addr
>= 'a') && (*addr
<= 'f')) {
byte
+= *addr
- 'a' + 10;
} else if ((*addr
>= 'A') && (*addr
<= 'F')) {
byte
+= *addr
- 'A' + 10;
if (nibble_cnt
&& (cp
< cplim
))
out_addr
.isoa_len
= cp
- out_addr
.isoa_genaddr
;
static char hexlist
[] = "0123456789abcdef";
register char *out
= obuf
;
register u_char
*in
= (u_char
*)isoa
->isoa_genaddr
;
u_char
*inlim
= in
+ isoa
->isoa_len
;
out
[1] = hexlist
[i
& 0xf];