home *** CD-ROM | disk | FTP | other *** search
- /* CHK=0xDD15 */
- /*+-------------------------------------------------------------------------
- utoa.c - fast substitutes for most sprintf needs
- ...!gatech!emory!tridom!wht
-
- Defined functions:
- utoda_common(buf,width,n,leading)
- utooa_common(buf,width,n,leading)
-
- --------------------------------------------------------------------------*/
- /*+:EDITS:*/
- /*:11-29-1989-03:32-wht-creation */
-
- #include "utoa.h"
-
- /*+-------------------------------------------------------------------------
- utoda_common(buf,width,n,leading) unsigned to decimal ascii
- --------------------------------------------------------------------------*/
- void
- utoda_common(buf,width,n,leading)
- char *buf;
- int width;
- unsigned n;
- char leading;
- {
- register unsigned div;
- register char *ep = &buf[width];
-
- *ep = '\0';
- if(n == 0)
- *--ep = '0';
- while(ep-- > buf)
- {
- if(n <= 0)
- *ep = leading;
- else
- {
- div = n / 10;
- *ep = n - 10*div + '0';
- n = div;
- }
- }
- } /* end of utoda_common */
-
- /*+-------------------------------------------------------------------------
- utooa_common(buf,width,n,leading) unsigned to octal ascii
- --------------------------------------------------------------------------*/
- void
- utooa_common(buf,width,n,leading)
- char *buf;
- int width;
- unsigned n;
- char leading;
- {
- register unsigned div;
- register char *ep = &buf[width];
-
- *ep = '\0';
- if(n == 0)
- *--ep = '0';
- while(ep-- > buf)
- {
- if(n <= 0)
- *ep = leading;
- else
- {
- div = n >> 3;
- *ep = n - (div << 3) + '0';
- n = div;
- }
- }
- } /* end of utooa_common */
-
- /* vi: set tabstop=4 shiftwidth=4: */
- /* end of utoa.c */
-