Ejemplo n.º 1
0
int	my_getnbr_base(char *str, char *base)
{
  int	offset;
  char	signe;
  int	value;

  my_strupcase(str);
  my_strupcase(base);
  if (is_arg_valid(str, base) == 0)
    return (0);

  offset = 0;
  signe = 1;
  while (str[offset] != '\0' && my_is_char_inbase(str[offset], base) == 0)
    signe *= *(str + offset++) == '-' ? -1 : 1;

  value = 0;
  while (my_is_char_inbase(*(str + offset), base) == 1)
  {
    if (value > (signe == -1 ? MIN_INT : MAX_INT) / my_strlen(base))
      return (0);
    value *= my_strlen(base);
    value += get_char_value_for_base(*(str + offset), base);
    ++offset;
  }

  return (value * signe);
}
Ejemplo n.º 2
0
char *		my_strupcase(char *s)
{
  if (s != NULL && *s != '\0')
    {
      if (*s >= 'a' && *s <= 'z')
	*s -= 32;
      my_strupcase(s + 1);
    }
  return (s);
}