mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	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;
 | 
						|
}
 |