/ get_next_line / test / main.c
main.c
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   main.c                                             :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: gychoi <gychoi@student.42seoul.kr>         +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2022/08/18 14:32:41 by gychoi            #+#    #+#             */
 9  /*   Updated: 2022/08/24 17:12:12 by gychoi           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #include <stdio.h>
14  #include <fcntl.h>
15  #include "../get_next_line/get_next_line.h"
16  
17  void	check_leak(void)
18  {
19  //	system("export MallocStackLogging=1");
20  	system("leaks --list -- app.out");
21  }
22  
23  int	main(void)
24  {
25  	int		fd1;
26  	int		fd2;
27  	int		fd3;
28  	int		fd4;
29  	char	*ret1;
30  	char	*ret2;
31  	char	*ret3;
32  	char	*ret4;
33  
34  	fd1 = open("./test/test1.txt", O_RDONLY);
35  	fd2 = open("./test/test2.txt", O_RDONLY);
36  	fd3 = open("./test/test3.txt", O_RDONLY);
37  	fd4 = open("./test/test4.txt", O_RDONLY);
38  	printf("GNL START =========>\n");
39  	printf("\n***** TEST 1 *****\n");
40  	ret1 = get_next_line(fd1);
41  	while (ret1)
42  	{
43  		printf("* fd1 return: %s\n", ret1);
44  		printf("-----------------\n");
45  		free(ret1);
46  		ret1 = get_next_line(fd1);
47  	}
48  	printf("\n***** TEST 2 *****\n");
49  	ret2 = get_next_line(fd2);
50  	while (ret2)
51  	{
52  		printf("* fd2 return: %s\n", ret2);
53  		printf("-----------------\n");
54  		free(ret2);
55  		ret2 = get_next_line(fd2);
56  	}
57  	printf("\n***** TEST 3 *****\n");
58  	ret3 = get_next_line(fd3);
59  	ret4 = get_next_line(fd4);
60  	while (ret4)
61  	{
62  		printf("* fd3 return: %s\n", ret3);
63  		printf("* fd4 return: %s\n", ret4);
64  		printf("-----------------\n");
65  		free(ret3);
66  		free(ret4);
67  		printf("fd3 is closed\n");
68  		close(fd3);
69  		ret3 = get_next_line(fd3);
70  		ret4 = get_next_line(fd4);
71  	}
72  	printf("<=============== END\n");
73  	close(fd1);
74  	close(fd2);
75  	//close(fd3);
76  	close(fd4);
77  	atexit(check_leak);
78  	return (0);
79  }