-
Notifications
You must be signed in to change notification settings - Fork 2
/
builtin_env.c
37 lines (34 loc) · 1.36 KB
/
builtin_env.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* builtin_env.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: jkong <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/06/23 23:11:25 by jkong #+# #+# */
/* Updated: 2022/06/28 02:44:38 by jkong ### ########.fr */
/* */
/* ************************************************************************** */
#include "builtins.h"
#include "safe_io.h"
#include "util_flag.h"
#include "string_buffer.h"
t_builtin_res ft_env(t_builtin_argv argv, t_builtin_envp envp)
{
t_list_var *list;
t_str_buf *buf;
char *str;
(void)&argv;
list = *envp;
buf = NULL;
while (list)
{
if (has_flag(list->attr, VF_EXPORTED) && list->value)
buf = str_append_format(buf, "%s=%s\n", list->name, list->value);
list = list->next;
}
str = str_dispose(buf);
putstr_safe(str);
free(str);
return (EXIT_SUCCESS);
}