Working
This commit is contained in:
parent
e9bd8c3e6a
commit
25f76c076a
|
@ -6,7 +6,7 @@
|
||||||
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
|
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/04/02 20:26:44 by tischmid #+# #+# */
|
/* Created: 2023/04/02 20:26:44 by tischmid #+# #+# */
|
||||||
/* Updated: 2023/04/02 23:34:29 by tischmid ### ########.fr */
|
/* Updated: 2023/04/02 23:36:20 by tischmid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
@ -28,9 +28,8 @@ int num_to_words_free(char **triplets, char **parts, char *thousands_power)
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *triplet_to_word(char *triplet, t_map_entry *map)
|
char *triplet_to_word(char *triplet, char *triplet_word, t_map_entry *map)
|
||||||
{
|
{
|
||||||
char *triplet_word;
|
|
||||||
int triplet_len;
|
int triplet_len;
|
||||||
char *map_value;
|
char *map_value;
|
||||||
int idx;
|
int idx;
|
||||||
|
@ -39,18 +38,6 @@ char *triplet_to_word(char *triplet, t_map_entry *map)
|
||||||
char *digit_str;
|
char *digit_str;
|
||||||
char *lookup_num;
|
char *lookup_num;
|
||||||
|
|
||||||
triplet_word = malloc(sizeof(char) * MAX_LINE_LENGTH * 5);
|
|
||||||
ft_strcpy(triplet_word, "");
|
|
||||||
if (ft_atoi(triplet) < 20)
|
|
||||||
{
|
|
||||||
map_value = ll_map_get_value(map, triplet);
|
|
||||||
if (map_value == NULL)
|
|
||||||
return (ft_strcpy(triplet_word, "MISSING_KEY"));
|
|
||||||
ft_strcat(triplet_word, map_value);
|
|
||||||
return (triplet_word);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
triplet_len = ft_strlen(triplet);
|
triplet_len = ft_strlen(triplet);
|
||||||
idx = 0;
|
idx = 0;
|
||||||
while (triplet_len--)
|
while (triplet_len--)
|
||||||
|
@ -88,10 +75,28 @@ char *triplet_to_word(char *triplet, t_map_entry *map)
|
||||||
ft_strcat(triplet_word, " ");
|
ft_strcat(triplet_word, " ");
|
||||||
++idx;
|
++idx;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return (triplet_word);
|
return (triplet_word);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *t_to_w_wrapper(char *triplet, t_map_entry *map)
|
||||||
|
{
|
||||||
|
char *map_value;
|
||||||
|
char *triplet_word;
|
||||||
|
|
||||||
|
triplet_word = malloc(sizeof(char) * MAX_LINE_LENGTH * 5);
|
||||||
|
ft_strcpy(triplet_word, "");
|
||||||
|
if (ft_atoi(triplet) < 20)
|
||||||
|
{
|
||||||
|
map_value = ll_map_get_value(map, triplet);
|
||||||
|
if (map_value == NULL)
|
||||||
|
return (ft_strcpy(triplet_word, "MISSING_KEY"));
|
||||||
|
ft_strcat(triplet_word, map_value);
|
||||||
|
return (triplet_word);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return (triplet_to_word(triplet, triplet_word, map));
|
||||||
|
}
|
||||||
|
|
||||||
int set_parts(char **parts, char **triplets, char *k_power, t_map_entry *map)
|
int set_parts(char **parts, char **triplets, char *k_power, t_map_entry *map)
|
||||||
{
|
{
|
||||||
char *thousands_power_word;
|
char *thousands_power_word;
|
||||||
|
@ -107,7 +112,7 @@ int set_parts(char **parts, char **triplets, char *k_power, t_map_entry *map)
|
||||||
thousands_power_word = ll_map_get_value(map, k_power);
|
thousands_power_word = ll_map_get_value(map, k_power);
|
||||||
if (!thousands_power_word)
|
if (!thousands_power_word)
|
||||||
return (num_to_words_free(triplets, parts, k_power));
|
return (num_to_words_free(triplets, parts, k_power));
|
||||||
triplet_word = triplet_to_word(triplets[idx], map);
|
triplet_word = t_to_w_wrapper(triplets[idx], map);
|
||||||
if (!ft_strcmp(triplet_word, "MISSING_KEY"))
|
if (!ft_strcmp(triplet_word, "MISSING_KEY"))
|
||||||
return (num_to_words_free(triplets, parts, k_power));
|
return (num_to_words_free(triplets, parts, k_power));
|
||||||
parts[idx] = malloc(sizeof(char) * MAX_LINE_LENGTH * 6);
|
parts[idx] = malloc(sizeof(char) * MAX_LINE_LENGTH * 6);
|
||||||
|
|
Loading…
Reference in New Issue