| /* putnum.c -- put a hex number on the output device. |
| * |
| * Copyright (c) 1995 Cygnus Support |
| * |
| * The authors hereby grant permission to use, copy, modify, distribute, |
| * and license this software and its documentation for any purpose, provided |
| * that existing copyright notices are retained in all copies and that this |
| * notice is included verbatim in any distributions. No written agreement, |
| * license, or royalty fee is required for any of the authorized uses. |
| * Modifications to this software may be copyrighted by their authors |
| * and need not follow the licensing terms described here, provided that |
| * the new terms are clearly indicated on the first page of each file where |
| * they apply. |
| */ |
| #include "glue.h" |
| |
| /* |
| * putnum -- print a 32 bit number in hex |
| */ |
| void |
| _DEFUN (putnum, (num), |
| unsigned int num) |
| { |
| char buf[9]; |
| int cnt; |
| char *ptr; |
| int digit; |
| |
| ptr = buf; |
| for (cnt = 7 ; cnt >= 0 ; cnt--) { |
| digit = (num >> (cnt * 4)) & 0xf; |
| |
| if (digit <= 9) |
| *ptr++ = (char) ('0' + digit); |
| else |
| *ptr++ = (char) ('a' - 10 + digit); |
| } |
| |
| *ptr = (char) 0; |
| print (buf); |
| } |