45 ft_putstr_fd(line, fd);
46 ft_putchar_fd(
'\n', fd);
60 new_str = ft_strjoin(str, buf);
79 var_name = ft_substr(line + *i + 1, 0, name_len);
84 tmp = ft_strjoin(result, var_value);
104 result = ft_strdup(
"");
110 if (line[i] ==
'$' &&
can_expand(line[i + 1]))
void shell_error(char *cmd, char *arg, char *msg)
char * append_char(char *str, char c)
Tek karakteri string sonuna ekle.
int create_heredoc_pipe(int *pipefd)
Heredoc için pipe oluştur.
char * expand_heredoc_line(t_shell *shell, char *line)
Heredoc satırındaki $VAR değişkenlerini genişlet.
char * expand_dollar(t_shell *shell, char *line, char *result, int *i)
Tek bir $VAR genişletmesi yap ve result'a ekle.
int write_heredoc_line(int fd, char *line)
Heredoc satırını pipe'a yaz.
char * get_var_value(t_shell *shell, char *var_name)
Bir değişkenin değerini bulur ve kopyasını döndürür.
int get_var_name_len(char *str)
Değişken isminin uzunluğunu hesaplar.
int can_expand(char next_c)
'$' işaretinden sonra gelen karakterin genişletmeye uygun olup olmadığını kontrol eder.
Minishell ana header dosyası