1 
2 
3 #define		Ntoc(val)	((val) < 10 ? "0123456789"[val] : \
4 						"abcdefghijklmnopqrstuvwxyz"[(val) - 10])
5 
6 #define		Swap(a, b)	(a) ^= (b), (b) ^= (a), (a) ^= (b)
7 
8 char *
ultoa(value,string,radix)9 ultoa(value, string, radix)
10 	unsigned long	value;
11 	char			*string;
12 	int				radix;
13 {
14 	char	*revp, *retp;
15 
16 	revp =
17 	retp = string;
18 	do  {
19 		*(string++) = Ntoc((int)(value % radix));
20 		value /= (unsigned long)radix;
21 	} while (0L < value);
22 	*(string--) = 0;
23 	while(revp < string) {
24 		Swap(*revp, *string);
25 		revp++;
26 		string--;
27 	}
28 
29 	return (retp);
30 }
31 
32 
33 #if defined(IPRINTF)
34 char *
strupr(string)35 strupr(string)
36 	char	*string;
37 {
38 	char	*rets;
39 
40 	rets = string;
41 	for ( ; *string != 0; string++) {
42 		if ('a' <= *string && *string <= 'z') {
43 			*string = *string - 'a' + 'A';
44 		}
45 	}
46 
47 	return (rets);
48 }
49 #endif	/* IPRINTF */
50