Ejemplo n.º 1
0
int					uf_atoi_base(const char *nbr, size_t base)
{
	unsigned char	c;
	bool			neg;
	int				ret;

	ret = 0;
	nbr = uf_atoi_check_base(uf_skip_space(nbr), &neg, &c, base);
	while (true)
	{
		if (uf_is_digit(c) == true)
			c = (unsigned char)(c - '0');
		else if (uf_is_alpha(c) == true)
			c = (unsigned char)(c - (uf_is_upper(c) == true ?
			'A' - 10 : 'a' - 10));
		else
			break ;
		if ((unsigned int)c >= base)
			break ;
		ret = ret * (int)base;
		ret = ret + c;
		c = *(const unsigned char *)nbr;
		nbr = nbr + 1;
	}
	if (neg == true)
		ret = -ret;
	return (ret);
}
Ejemplo n.º 2
0
void	D_UNIT_FUNCT(ret_val)
{
	F_UNIT_ASSERT(uf_is_upper('A') == true);
	F_UNIT_ASSERT(uf_is_upper('a') == false);
	F_UNIT_ASSERT(uf_is_lower('A') == false);
	F_UNIT_ASSERT(uf_is_lower('a') == true);
	F_UNIT_ASSERT(uf_is_alpha('a') == true);
	F_UNIT_ASSERT(uf_is_alpha('9') == false);
	F_UNIT_ASSERT(uf_is_printable(0) == false);
	F_UNIT_ASSERT(uf_is_printable('a') == true);
	F_UNIT_ASSERT(uf_is_digit('a') == false);
	F_UNIT_ASSERT(uf_is_digit('9') == true);
	F_UNIT_ASSERT(uf_is_space(' ') == true);
	F_UNIT_ASSERT(uf_is_space('9') == false);
	F_UNIT_ASSERT(uf_str_len("") == 0);
	F_UNIT_ASSERT(uf_str_len("foo") == 3);
	F_UNIT_ASSERT(uf_strcmp("foo", "foo") == 0);
	F_UNIT_ASSERT(uf_strcmp("foo", "fDo") != 0);
	F_UNIT_ASSERT(uf_strncmp("foo", "foo", 2) == 0);
	F_UNIT_ASSERT(uf_strncmp("foo", "fDo", 2) != 0);
}