-
Notifications
You must be signed in to change notification settings - Fork 0
/
ls_arg.c
61 lines (54 loc) · 1.12 KB
/
ls_arg.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
** ls_arg.c for my_ls in /home/chapui_s/travaux/my_ls
**
** Made by chapui_s
** Login <chapui_s@epitech.net>
**
** Started on Sat Nov 30 23:08:48 2013 chapui_s
** Last update Sat Nov 30 23:11:13 2013 chapui_s
*/
#include "my_ls.h"
int recurs_ls(t_options *options, char *dir_name,
t_list_file *list_files_dir)
{
char *name_without_path;
t_list_file *tmp;
tmp = list_files_dir;
while (tmp)
{
name_without_path = cut_name(tmp->name);
if (name_without_path[0] != '.')
if ((ls_directory(options, tmp->name, 2, 5)) == -2)
return (-1);
tmp = tmp->next;
}
return (0);
}
int is_good_dir_in_arg(t_list_file *list_file)
{
t_list_file *tmp;
struct stat res_stat;
int nb_good_dir;
tmp = list_file;
nb_good_dir = 0;
while (tmp)
{
if (lstat(tmp->name, &res_stat) != -1 && (S_ISDIR(res_stat.st_mode)))
nb_good_dir = nb_good_dir + 1;
tmp = tmp->next;
}
return (nb_good_dir);
}
int nb_arg(t_list_file *list_file)
{
t_list_file *tmp;
int nb_arg;
tmp = list_file;
nb_arg = 0;
while (tmp)
{
nb_arg = nb_arg + 1;
tmp = tmp->next;
}
return (nb_arg);
}