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

Bu dosyanın kaynak koduna git.

Fonksiyonlar

int free_expansion_parts (t_expansion_parts *parts, int ret_val)
 String birleştirme işlemi sırasında kullanılan geçici yapıyı temizler.
int replace_token_value (t_token *token, char *var_value, int index, int len_name)
 Token'ın string değerindeki bir değişkeni, gerçek değeriyle değiştirir.

Fonksiyon Dokümantasyonu

◆ free_expansion_parts()

int free_expansion_parts ( t_expansion_parts * parts,
int ret_val )

String birleştirme işlemi sırasında kullanılan geçici yapıyı temizler.

Bu fonksiyon, replace_token_value fonksiyonunun çıkış kapısıdır. Hem hata durumunda (0 dönülecekse) hem de başarı durumunda (1 dönülecekse) kullanılır. Struct içindeki pointerları kontrol eder, dolu olanları free'ler ve en son struct'ın kendisini temizler.

Parametreler
partsTemizlenecek olan yardımcı yapı.
ret_valÇağıran fonksiyona döndürülecek değer (0 veya 1).
Döndürdüğü değer
int Parametre olarak alınan ret_val değerini aynen döndürür.

expander_str_manipulation.c dosyasının 28 numaralı satırında tanımlanmıştır.

Referanslar s_expansion_parts::new_value, s_expansion_parts::prefix, s_expansion_parts::suffix ve s_expansion_parts::temp.

Referans veren replace_token_value().

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

◆ replace_token_value()

int replace_token_value ( t_token * token,
char * var_value,
int index,
int len_name )

Token'ın string değerindeki bir değişkeni, gerçek değeriyle değiştirir.

Bu fonksiyon, eski stringi üç parçaya bölerek işlem yapar:

  1. Prefix: '$' işaretinden önceki kısım.
  2. Value: Değişkenin yeni değeri.
  3. Suffix: Değişken isminin bitiminden sonraki kısım.

Bu parçaları ft_strjoin ile birleştirir ve eski token değerini güvenli bir şekilde yenisiyle değiştirir.

Parametreler
tokenDeğeri değiştirilecek olan token.
var_valueDeğişkenin listeden bulunan değeri (Araya girecek parça).
index'$' işaretinin bulunduğu indeks (Prefix'in sonu).
   @param len_name Değişken isminin uzunluğu (Suffix'in başlangıcını
bulmak için).
Döndürdüğü değer
int Başarılıysa 1, herhangi bir malloc hatasında 0.

expander_str_manipulation.c dosyasının 66 numaralı satırında tanımlanmıştır.

Referanslar free_expansion_parts(), s_expansion_parts::new_value, s_expansion_parts::prefix, s_expansion_parts::suffix, s_expansion_parts::temp ve s_token::value.

Referans veren apply_variable_replacement().

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