get rid of ulton() - a joke
saves 32 bss, but adds 84 text oO
This commit is contained in:
		
							
								
								
									
										9
									
								
								eval.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								eval.c
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| #include "sh.h" | #include "sh.h" | ||||||
|  |  | ||||||
| __RCSID("$MirOS: src/bin/mksh/eval.c,v 1.13 2006/08/01 13:43:26 tg Exp $"); | __RCSID("$MirOS: src/bin/mksh/eval.c,v 1.14 2006/11/09 23:55:51 tg Exp $"); | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * string expansion |  * string expansion | ||||||
| @@ -717,7 +717,12 @@ varsub(Expand *xp, char *sp, char *word, | |||||||
| 		if (Flag(FNOUNSET) && c == 0 && !zero_ok) | 		if (Flag(FNOUNSET) && c == 0 && !zero_ok) | ||||||
| 			errorf("%s: parameter not set", sp); | 			errorf("%s: parameter not set", sp); | ||||||
| 		*stypep = 0; /* unqualified variable/string substitution */ | 		*stypep = 0; /* unqualified variable/string substitution */ | ||||||
| 		xp->str = str_save(ulton((unsigned long)c, 10), ATEMP); | 		{ | ||||||
|  | 			char tmpbuf[11]; | ||||||
|  |  | ||||||
|  | 			shf_snprintf(tmpbuf, 11, "%lu", (unsigned long)c); | ||||||
|  | 			xp->str = str_save(tmpbuf, ATEMP); | ||||||
|  | 		} | ||||||
| 		return XSUB; | 		return XSUB; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								misc.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								misc.c
									
									
									
									
									
								
							| @@ -3,7 +3,7 @@ | |||||||
|  |  | ||||||
| #include "sh.h" | #include "sh.h" | ||||||
|  |  | ||||||
| __RCSID("$MirOS: src/bin/mksh/misc.c,v 1.21 2006/11/09 23:39:16 tg Exp $\t" | __RCSID("$MirOS: src/bin/mksh/misc.c,v 1.22 2006/11/09 23:55:51 tg Exp $\t" | ||||||
| 	MKSH_SH_H_ID); | 	MKSH_SH_H_ID); | ||||||
|  |  | ||||||
| unsigned char chtypes[UCHAR_MAX + 1];	/* type bits for unsigned char */ | unsigned char chtypes[UCHAR_MAX + 1];	/* type bits for unsigned char */ | ||||||
| @@ -49,23 +49,6 @@ initctypes(void) | |||||||
| 	setctypes(" \n\t\"#$&'()*;<>?[]\\`|", C_QUOTE); | 	setctypes(" \n\t\"#$&'()*;<>?[]\\`|", C_QUOTE); | ||||||
| } | } | ||||||
|  |  | ||||||
| /* convert unsigned long to base N string */ |  | ||||||
|  |  | ||||||
| char * |  | ||||||
| ulton(long unsigned int n, int base) |  | ||||||
| { |  | ||||||
| 	char *p; |  | ||||||
| 	static char buf[20]; |  | ||||||
|  |  | ||||||
| 	p = &buf[sizeof (buf)]; |  | ||||||
| 	*--p = '\0'; |  | ||||||
| 	do { |  | ||||||
| 		*--p = "0123456789ABCDEF"[n%base]; |  | ||||||
| 		n /= base; |  | ||||||
| 	} while (n != 0); |  | ||||||
| 	return p; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /* Allocate a string of size n+1 and copy upto n characters from the possibly | /* Allocate a string of size n+1 and copy upto n characters from the possibly | ||||||
|  * null terminated string s into it.  Always returns a null terminated string |  * null terminated string s into it.  Always returns a null terminated string | ||||||
|  * (unless n < 0). |  * (unless n < 0). | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								sh.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								sh.h
									
									
									
									
									
								
							| @@ -8,7 +8,7 @@ | |||||||
| /*	$OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $	*/ | /*	$OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $	*/ | ||||||
| /*	$OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $	*/ | /*	$OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $	*/ | ||||||
|  |  | ||||||
| #define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.66 2006/11/09 23:39:16 tg Exp $" | #define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.67 2006/11/09 23:55:52 tg Exp $" | ||||||
| #define MKSH_VERSION "R29 2006/11/09" | #define MKSH_VERSION "R29 2006/11/09" | ||||||
|  |  | ||||||
| #if HAVE_SYS_PARAM_H | #if HAVE_SYS_PARAM_H | ||||||
| @@ -1219,7 +1219,6 @@ struct tbl **ktsort(struct table *); | |||||||
| /* misc.c */ | /* misc.c */ | ||||||
| void setctypes(const char *, int); | void setctypes(const char *, int); | ||||||
| void initctypes(void); | void initctypes(void); | ||||||
| char *ulton(unsigned long, int); |  | ||||||
| char *str_save(const char *, Area *); | char *str_save(const char *, Area *); | ||||||
| char *str_nsave(const char *, int, Area *); | char *str_nsave(const char *, int, Area *); | ||||||
| int option(const char *); | int option(const char *); | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								tree.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								tree.c
									
									
									
									
									
								
							| @@ -2,7 +2,7 @@ | |||||||
|  |  | ||||||
| #include "sh.h" | #include "sh.h" | ||||||
|  |  | ||||||
| __RCSID("$MirOS: src/bin/mksh/tree.c,v 1.4 2006/05/10 18:54:13 tg Exp $"); | __RCSID("$MirOS: src/bin/mksh/tree.c,v 1.5 2006/11/09 23:55:52 tg Exp $"); | ||||||
|  |  | ||||||
| #define INDENT	4 | #define INDENT	4 | ||||||
|  |  | ||||||
| @@ -371,7 +371,6 @@ vfptreef(struct shf *shf, int indent, const char *fmt, va_list va) | |||||||
| 		if (c == '%') { | 		if (c == '%') { | ||||||
| 			long n; | 			long n; | ||||||
| 			char *p; | 			char *p; | ||||||
| 			int neg; |  | ||||||
|  |  | ||||||
| 			switch ((c = *fmt++)) { | 			switch ((c = *fmt++)) { | ||||||
| 			case 'c': | 			case 'c': | ||||||
| @@ -386,16 +385,16 @@ vfptreef(struct shf *shf, int indent, const char *fmt, va_list va) | |||||||
| 				p = va_arg(va, char *); | 				p = va_arg(va, char *); | ||||||
| 				tputS(p, shf); | 				tputS(p, shf); | ||||||
| 				break; | 				break; | ||||||
| 			case 'd': case 'u': /* decimal */ | 			case 'd': case 'u': { /* decimal */ | ||||||
|  | 				char tmpbuf[12]; | ||||||
|  |  | ||||||
| 				n = (c == 'd') ? (long)va_arg(va, int) : | 				n = (c == 'd') ? (long)va_arg(va, int) : | ||||||
| 				    (long)va_arg(va, unsigned int); | 				    (long)va_arg(va, unsigned int); | ||||||
| 				neg = c=='d' && n<0; | 				shf_snprintf((p = tmpbuf), 12, | ||||||
| 				p = ulton((neg) ? -n : n, 10); | 				    (c == 'd') ? "%ld" : "%lu", n); | ||||||
| 				if (neg) |  | ||||||
| 					*--p = '-'; |  | ||||||
| 				while (*p) | 				while (*p) | ||||||
| 					tputc(*p++, shf); | 					tputc(*p++, shf); | ||||||
| 				break; | 				} break; | ||||||
| 			case 'T':	/* format tree */ | 			case 'T':	/* format tree */ | ||||||
| 				ptree(va_arg(va, struct op *), indent, shf); | 				ptree(va_arg(va, struct op *), indent, shf); | ||||||
| 				break; | 				break; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user