btree print smaller (no compact mode). sstr add duplicates new sring

This commit is contained in:
Jack Halford 2016-11-24 23:10:26 +01:00
parent cf8d5f81aa
commit b3ba15d1d3
3 changed files with 18 additions and 25 deletions

View file

@ -37,29 +37,12 @@ static int print_t(t_btree *tree,
right = print_t(tree->right, (int[3]){
0, data[offset] + left + width, data[depth] + 1}, s, printer);
i = -1;
while (++i < width)
s[data[depth]][data[offset] + left + i] = b[i];
if (data[depth] && data[is_left])
{
i = -1;
while (++i < width)
s[data[depth] - 1][data[offset] + left + width / 2 + i] = '-';
s[data[depth] - 1][data[offset] + left + width / 2] = '.';
}
else if (data[depth] && !data[is_left])
{
i = -1;
while (++i < width)
s[data[depth] - 1][data[offset] - width / 2 + i] = '-';
s[data[depth] - 1][data[offset] + left + width / 2] = '.';
}
i = -1;
while (++i < width)
s[2 * data[depth]][data[offset] + left + i] = b[i];
if (data[depth] && data[is_left])
{
i = -1;
while (++i < width)
while (++i < width + right)
s[2 * data[depth] - 1][data[offset] + left + width / 2 + i] = '-';
s[2 * data[depth] - 1][data[offset] + left + width / 2] = '+';
s[2 * data[depth] - 1][
@ -68,7 +51,7 @@ static int print_t(t_btree *tree,
else if (data[depth] && !data[is_left])
{
i = -1;
while (++i < width)
while (++i < width + left)
s[2 * data[depth] - 1][data[offset] - width / 2 + i] = '-';
s[2 * data[depth] - 1][data[offset] + left + width / 2] = '+';
s[2 * data[depth] - 1][data[offset] - width / 2 - 1] = '+';

View file

@ -20,13 +20,19 @@ char **ft_sstradd(char **sstr, char *new)
i = 0;
size = 0;
while (sstr && sstr[size])
if (sstr)
while (sstr[size])
size++;
if (!(newlist = (char **)malloc(sizeof(char *) * (size + 2))))
return (NULL);
while (sstr && *sstr)
newlist[i++] = *sstr++;
newlist[i++] = new;
if (sstr)
while (sstr[i])
{
newlist[i] = sstr[i];
i++;
}
newlist[i++] = ft_strdup(new);
newlist[i] = NULL;
free(sstr);
return (newlist);
}

View file

@ -18,5 +18,9 @@ void ft_sstrprint(char **list, char sep)
i = 0;
while (list[i])
ft_printf("%s%c", list[i++], sep);
{
ft_putstr(list[i++]);
if (list[i])
ft_putchar(sep);
}
}