mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 9c60701e4f
			
		
	
	
		9c60701e4f
		
	
	
	
	
		
			
			ANSI compatible strtol and strtoul, and ANSI styled other functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			436 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			436 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* public domain rewrite of strtol(3) */
 | |
| 
 | |
| #include <ctype.h>
 | |
| 
 | |
| long
 | |
| strtol(const char *nptr, char **endptr, int base)
 | |
| {
 | |
|     long result;
 | |
|     const char *p = nptr;
 | |
| 
 | |
|     while (isspace(*p)) {
 | |
| 	p++;
 | |
|     }
 | |
|     if (*p == '-') {
 | |
| 	p++;
 | |
| 	result = -strtoul(p, endptr, base);
 | |
|     }
 | |
|     else {
 | |
| 	if (*p == '+') p++;
 | |
| 	result = strtoul(p, endptr, base);
 | |
|     }
 | |
|     if (endptr != 0 && *endptr == p) {
 | |
| 	*endptr = (char *)nptr;
 | |
|     }
 | |
|     return result;
 | |
| }
 |