Minishell 1.0
42 School Minishell Project - A simple shell implementation
Yüklüyor...
Arıyor...
Eşleşme Yok
executor_heredoc_utils.c Dosya Referansı
#include "../../include/minishell.h"
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
executor_heredoc_utils.c için içerme bağımlılık grafiği:

Bu dosyanın kaynak koduna git.

Fonksiyonlar

int create_heredoc_pipe (int *pipefd)
 Heredoc için pipe oluştur.
int write_heredoc_line (int fd, char *line)
 Heredoc satırını pipe'a yaz.
char * append_char (char *str, char c)
 Tek karakteri string sonuna ekle.
char * expand_dollar (t_shell *shell, char *line, char *result, int *i)
 Tek bir $VAR genişletmesi yap ve result'a ekle.
char * expand_heredoc_line (t_shell *shell, char *line)
 Heredoc satırındaki $VAR değişkenlerini genişlet.

Fonksiyon Dokümantasyonu

◆ create_heredoc_pipe()

int create_heredoc_pipe ( int * pipefd)

Heredoc için pipe oluştur.

Parametreler
pipefdPipe file descriptors
Döndürdüğü değer
int başarı: 1, hata: 0

executor_heredoc_utils.c dosyasının 23 numaralı satırında tanımlanmıştır.

Referanslar shell_error().

Referans veren redir_heredoc().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ write_heredoc_line()

int write_heredoc_line ( int fd,
char * line )

Heredoc satırını pipe'a yaz.

Parametreler
fdFile descriptor
lineYazılacak satır
Döndürdüğü değer
int başarı: 1, hata: 0

executor_heredoc_utils.c dosyasının 41 numaralı satırında tanımlanmıştır.

Referans veren heredoc_child().

Bu fonksiyon için çağırılma şeması:

◆ append_char()

char * append_char ( char * str,
char c )

Tek karakteri string sonuna ekle.

executor_heredoc_utils.c dosyasının 53 numaralı satırında tanımlanmıştır.

Referans veren expand_dollar() ve expand_heredoc_line().

Bu fonksiyon için çağırılma şeması:

◆ expand_dollar()

char * expand_dollar ( t_shell * shell,
char * line,
char * result,
int * i )

Tek bir $VAR genişletmesi yap ve result'a ekle.

Döndürdüğü değer
char* Güncellenmiş result string

executor_heredoc_utils.c dosyasının 69 numaralı satırında tanımlanmıştır.

Referanslar append_char(), get_var_name_len() ve get_var_value().

Referans veren expand_heredoc_line().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması:

◆ expand_heredoc_line()

char * expand_heredoc_line ( t_shell * shell,
char * line )

Heredoc satırındaki $VAR değişkenlerini genişlet.

Parametreler
shellShell yapısı (env değişkenleri için)
lineGenişletilecek satır
Döndürdüğü değer
char* Yeni genişletilmiş satır (malloc), veya orijinal line

executor_heredoc_utils.c dosyasının 99 numaralı satırında tanımlanmıştır.

Referanslar append_char(), can_expand() ve expand_dollar().

Referans veren heredoc_child().

Bu fonksiyon için çağırılma şeması:
Bu fonksiyon için çağırılma şeması: