|
Minishell 1.0
42 School Minishell Project - A simple shell implementation
|
Merkezi temizlik sistemi. Ayrıntılar...
#include "../../include/minishell.h"#include <readline/history.h>#include <readline/readline.h>#include <stdlib.h>Bu dosyanın kaynak koduna git.
Fonksiyonlar | |
| void | free_str_array (char **arr) |
| NULL-terminated string dizisini serbest bırakır. | |
| void | cleanup_shell (t_shell *shell) |
| Tüm t_shell kaynaklarını serbest bırakır. | |
| void | shell_exit (t_shell *shell, int exit_code) |
| Shell'i temizleyip programdan çıkar. | |
Merkezi temizlik sistemi.
Tüm t_shell kaynaklarını serbest bırakır ve temiz çıkış sağlar. Projedeki tüm exit noktaları shell_exit() üzerinden geçer.
cleanup.c dosyasında tanımlanmıştır.
| void free_str_array | ( | char ** | arr | ) |
NULL-terminated string dizisini serbest bırakır.
| arr | NULL-terminated string dizisi |
cleanup.c dosyasının 30 numaralı satırında tanımlanmıştır.
Referans veren child_exec(), create_envp() ve normalize_logical_path().
| void cleanup_shell | ( | t_shell * | shell | ) |
Tüm t_shell kaynaklarını serbest bırakır.
| shell | Shell yapısı pointer'ı |
env_list, token_list, ast_root ve cmd_line temizlenir.
cleanup.c dosyasının 51 numaralı satırında tanımlanmıştır.
Referanslar s_shell::ast_root, clean_ast(), s_shell::cmd_line, s_shell::env_list, free_env_node(), free_token_content() ve s_shell::token_list.
Referans veren main() ve shell_exit().
| void shell_exit | ( | t_shell * | shell, |
| int | exit_code ) |
Shell'i temizleyip programdan çıkar.
| shell | Shell yapısı pointer'ı |
| exit_code | Çıkış kodu |
cleanup_shell çağırır, readline history'yi temizler ve exit yapar.
cleanup.c dosyasının 76 numaralı satırında tanımlanmıştır.
Referanslar cleanup_shell().
Referans veren builtin_exit(), child_exec(), exit_numeric_error(), pipe_left_child(), pipe_right_child() ve redir_heredoc().