예제 #1
0
int		get_next_line(int const fd, char **line)
{
	char		buf[BUFF_SIZE + 1];
	char		*ptr;
	static char	*stat;
	int			ret;

	if (!line || fd < 0)
		return (-1);
	while (!ft_strchr(stat, '\n'))
	{
		if ((ret = read(fd, buf, BUFF_SIZE)) <= 0)
			break ;
		buf[ret] = '\0';
		stat = (stat == 0) ? ft_strdup(buf) : ft_strjoin(stat, buf);
	}
	if ((ptr = ft_strchr(stat, '\n')))
	{
		*line = stat;
		stat = ptr + 1;
		*ptr = '\0';
		return (1);
	}
	else
		return (ft_suite(ret, &stat, line));
	return (ret);
}
예제 #2
0
char			*ft_current_time_to_str(void)
{
	char		**array;
	char		*str;
	char		*tmp;
	time_t		clock;

	clock = time(NULL);
	array = ft_strsplit(ctime(&clock), ' ');
	str = ft_strjoin(array[0], " ");
	tmp = ft_strdup(str);
	str = ft_strjoin(tmp, array[2]);
	free(tmp);
	tmp = ft_strdup(str);
	free(str);
	str = ft_strjoin(tmp, " ");
	free(tmp);
	tmp = ft_strdup(str);
	free(str);
	str = ft_strjoin(tmp, array[1]);
	free(tmp);
	tmp = ft_strdup(str);
	free(str);
	str = ft_strjoin(tmp, ft_suite(array));
	free(tmp);
	return (str);
}